天天看點

SharePoint 2007 采用表單驗證 一段源碼

  1

SharePoint 2007 采用表單驗證 一段源碼

using System;

  2

SharePoint 2007 采用表單驗證 一段源碼

using System.Collections.Generic;

  3

SharePoint 2007 采用表單驗證 一段源碼

using System.Text;

  4

SharePoint 2007 采用表單驗證 一段源碼

using System.Web;

  5

SharePoint 2007 采用表單驗證 一段源碼

using System.Web.Security;

  6

SharePoint 2007 采用表單驗證 一段源碼

using System.IO;

  7

SharePoint 2007 采用表單驗證 一段源碼

using System.Collections.Specialized;

  8

SharePoint 2007 采用表單驗證 一段源碼

  9

SharePoint 2007 采用表單驗證 一段源碼

namespace MOSSSecurity

 10

SharePoint 2007 采用表單驗證 一段源碼

{

 11

SharePoint 2007 采用表單驗證 一段源碼

    public class TextFileMembershipProvider : MembershipProvider

 12

SharePoint 2007 采用表單驗證 一段源碼

    {

 13

SharePoint 2007 采用表單驗證 一段源碼

        private String _sFilePath = "";

 14

SharePoint 2007 采用表單驗證 一段源碼

 15

SharePoint 2007 采用表單驗證 一段源碼

        public String FilePath

 16

SharePoint 2007 采用表單驗證 一段源碼

        {

 17

SharePoint 2007 采用表單驗證 一段源碼

            get { return _sFilePath; }

 18

SharePoint 2007 采用表單驗證 一段源碼

        }

 19

SharePoint 2007 采用表單驗證 一段源碼

 20

SharePoint 2007 采用表單驗證 一段源碼

        private IDictionary<String, String> LoadAllUsers()

 21

SharePoint 2007 采用表單驗證 一段源碼

 22

SharePoint 2007 采用表單驗證 一段源碼

            if (String.IsNullOrEmpty(this.FilePath))

 23

SharePoint 2007 采用表單驗證 一段源碼

            {

 24

SharePoint 2007 采用表單驗證 一段源碼

                throw new InvalidOperationException("FilePath is not set.");

 25

SharePoint 2007 采用表單驗證 一段源碼

            }

 26

SharePoint 2007 采用表單驗證 一段源碼

 27

SharePoint 2007 采用表單驗證 一段源碼

 28

SharePoint 2007 采用表單驗證 一段源碼

            Dictionary<String, String> result = new Dictionary<String, String>();

 29

SharePoint 2007 采用表單驗證 一段源碼

 30

SharePoint 2007 采用表單驗證 一段源碼

            StreamReader reader = new StreamReader(FilePath, Encoding.Default);

 31

SharePoint 2007 采用表單驗證 一段源碼

            while (true)

 32

SharePoint 2007 采用表單驗證 一段源碼

 33

SharePoint 2007 采用表單驗證 一段源碼

                String sLine = reader.ReadLine();

 34

SharePoint 2007 采用表單驗證 一段源碼

                if (sLine == null)

 35

SharePoint 2007 采用表單驗證 一段源碼

                {

 36

SharePoint 2007 采用表單驗證 一段源碼

                    break;

 37

SharePoint 2007 采用表單驗證 一段源碼

                }

 38

SharePoint 2007 采用表單驗證 一段源碼

                if (sLine.Trim().Length == 0)

 39

SharePoint 2007 采用表單驗證 一段源碼

 40

SharePoint 2007 采用表單驗證 一段源碼

                    continue;

 41

SharePoint 2007 采用表單驗證 一段源碼

 42

SharePoint 2007 采用表單驗證 一段源碼

                String[] line = sLine.Split(':');

 43

SharePoint 2007 采用表單驗證 一段源碼

                result.Add(line[0], line[1]);

 44

SharePoint 2007 采用表單驗證 一段源碼

 45

SharePoint 2007 采用表單驗證 一段源碼

 46

SharePoint 2007 采用表單驗證 一段源碼

            return result;

 47

SharePoint 2007 采用表單驗證 一段源碼

 48

SharePoint 2007 采用表單驗證 一段源碼

 49

SharePoint 2007 采用表單驗證 一段源碼

        private void WriteAllUsers(IDictionary<String, String> users)

 50

SharePoint 2007 采用表單驗證 一段源碼

 51

SharePoint 2007 采用表單驗證 一段源碼

 52

SharePoint 2007 采用表單驗證 一段源碼

 53

SharePoint 2007 采用表單驗證 一段源碼

 54

SharePoint 2007 采用表單驗證 一段源碼

 55

SharePoint 2007 采用表單驗證 一段源碼

 56

SharePoint 2007 采用表單驗證 一段源碼

            using (StreamWriter writer = new StreamWriter(this.FilePath, false))

 57

SharePoint 2007 采用表單驗證 一段源碼

 58

SharePoint 2007 采用表單驗證 一段源碼

                foreach (String userId in users.Keys)

 59

SharePoint 2007 采用表單驗證 一段源碼

 60

SharePoint 2007 采用表單驗證 一段源碼

                    writer.WriteLine(userId + ":" + users[userId]);

 61

SharePoint 2007 采用表單驗證 一段源碼

 62

SharePoint 2007 采用表單驗證 一段源碼

 63

SharePoint 2007 采用表單驗證 一段源碼

 64

SharePoint 2007 采用表單驗證 一段源碼

 65

SharePoint 2007 采用表單驗證 一段源碼

        public override void Initialize(string name, NameValueCollection config)

 66

SharePoint 2007 采用表單驗證 一段源碼

 67

SharePoint 2007 采用表單驗證 一段源碼

            base.Initialize(name, config);

 68

SharePoint 2007 采用表單驗證 一段源碼

 69

SharePoint 2007 采用表單驗證 一段源碼

            _sFilePath = config["filePath"];

 70

SharePoint 2007 采用表單驗證 一段源碼

 71

SharePoint 2007 采用表單驗證 一段源碼

 72

SharePoint 2007 采用表單驗證 一段源碼

        public override string ApplicationName

 73

SharePoint 2007 采用表單驗證 一段源碼

 74

SharePoint 2007 采用表單驗證 一段源碼

            get

 75

SharePoint 2007 采用表單驗證 一段源碼

 76

SharePoint 2007 采用表單驗證 一段源碼

                return "/";

 77

SharePoint 2007 采用表單驗證 一段源碼

 78

SharePoint 2007 采用表單驗證 一段源碼

            set

 79

SharePoint 2007 采用表單驗證 一段源碼

 80

SharePoint 2007 采用表單驗證 一段源碼

 81

SharePoint 2007 采用表單驗證 一段源碼

 82

SharePoint 2007 采用表單驗證 一段源碼

 83

SharePoint 2007 采用表單驗證 一段源碼

 84

SharePoint 2007 采用表單驗證 一段源碼

        public override bool ChangePassword(string username, string oldPassword, string newPassword)

 85

SharePoint 2007 采用表單驗證 一段源碼

 86

SharePoint 2007 采用表單驗證 一段源碼

            return true;

 87

SharePoint 2007 采用表單驗證 一段源碼

 88

SharePoint 2007 采用表單驗證 一段源碼

 89

SharePoint 2007 采用表單驗證 一段源碼

        public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer)

 90

SharePoint 2007 采用表單驗證 一段源碼

 91

SharePoint 2007 采用表單驗證 一段源碼

 92

SharePoint 2007 采用表單驗證 一段源碼

 93

SharePoint 2007 采用表單驗證 一段源碼

 94

SharePoint 2007 采用表單驗證 一段源碼

        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)

 95

SharePoint 2007 采用表單驗證 一段源碼

 96

SharePoint 2007 采用表單驗證 一段源碼

            IDictionary<String, String> users = this.LoadAllUsers();

 97

SharePoint 2007 采用表單驗證 一段源碼

            if (users.ContainsKey(username))

 98

SharePoint 2007 采用表單驗證 一段源碼

 99

SharePoint 2007 采用表單驗證 一段源碼

                status = MembershipCreateStatus.DuplicateUserName;

100

SharePoint 2007 采用表單驗證 一段源碼

                return null;

101

SharePoint 2007 采用表單驗證 一段源碼

102

SharePoint 2007 采用表單驗證 一段源碼

103

SharePoint 2007 采用表單驗證 一段源碼

            users.Add(username, password);

104

SharePoint 2007 采用表單驗證 一段源碼

            this.WriteAllUsers(users);

105

SharePoint 2007 采用表單驗證 一段源碼

106

SharePoint 2007 采用表單驗證 一段源碼

            status = MembershipCreateStatus.Success;

107

SharePoint 2007 采用表單驗證 一段源碼

108

SharePoint 2007 采用表單驗證 一段源碼

            MembershipUser user = new MembershipUser(this.Name, username, username, email, passwordQuestion, "", isApproved, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);

109

SharePoint 2007 采用表單驗證 一段源碼

            return user;

110

SharePoint 2007 采用表單驗證 一段源碼

111

SharePoint 2007 采用表單驗證 一段源碼

112

SharePoint 2007 采用表單驗證 一段源碼

        public override bool DeleteUser(string username, bool deleteAllRelatedData)

113

SharePoint 2007 采用表單驗證 一段源碼

114

SharePoint 2007 采用表單驗證 一段源碼

115

SharePoint 2007 采用表單驗證 一段源碼

116

SharePoint 2007 采用表單驗證 一段源碼

117

SharePoint 2007 采用表單驗證 一段源碼

                users.Remove(username);

118

SharePoint 2007 采用表單驗證 一段源碼

                this.WriteAllUsers(users);

119

SharePoint 2007 采用表單驗證 一段源碼

                return true;

120

SharePoint 2007 采用表單驗證 一段源碼

121

SharePoint 2007 采用表單驗證 一段源碼

            else

122

SharePoint 2007 采用表單驗證 一段源碼

123

SharePoint 2007 采用表單驗證 一段源碼

                return false;

124

SharePoint 2007 采用表單驗證 一段源碼

125

SharePoint 2007 采用表單驗證 一段源碼

126

SharePoint 2007 采用表單驗證 一段源碼

127

SharePoint 2007 采用表單驗證 一段源碼

        public override bool EnablePasswordReset

128

SharePoint 2007 采用表單驗證 一段源碼

129

SharePoint 2007 采用表單驗證 一段源碼

            get { return false; }

130

SharePoint 2007 采用表單驗證 一段源碼

131

SharePoint 2007 采用表單驗證 一段源碼

132

SharePoint 2007 采用表單驗證 一段源碼

        public override bool EnablePasswordRetrieval

133

SharePoint 2007 采用表單驗證 一段源碼

134

SharePoint 2007 采用表單驗證 一段源碼

135

SharePoint 2007 采用表單驗證 一段源碼

136

SharePoint 2007 采用表單驗證 一段源碼

137

SharePoint 2007 采用表單驗證 一段源碼

        public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords)

138

SharePoint 2007 采用表單驗證 一段源碼

139

SharePoint 2007 采用表單驗證 一段源碼

            totalRecords = 0;

140

SharePoint 2007 采用表單驗證 一段源碼

            return null;

141

SharePoint 2007 采用表單驗證 一段源碼

142

SharePoint 2007 采用表單驗證 一段源碼

143

SharePoint 2007 采用表單驗證 一段源碼

        public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)

144

SharePoint 2007 采用表單驗證 一段源碼

145

SharePoint 2007 采用表單驗證 一段源碼

            MembershipUserCollection result = new MembershipUserCollection();

146

SharePoint 2007 采用表單驗證 一段源碼

147

SharePoint 2007 采用表單驗證 一段源碼

148

SharePoint 2007 采用表單驗證 一段源碼

            foreach (String username in users.Keys)

149

SharePoint 2007 采用表單驗證 一段源碼

150

SharePoint 2007 采用表單驗證 一段源碼

                if (username.StartsWith(usernameToMatch))

151

SharePoint 2007 采用表單驗證 一段源碼

152

SharePoint 2007 采用表單驗證 一段源碼

                    result.Add(this.GetUser(usernameToMatch, false));

153

SharePoint 2007 采用表單驗證 一段源碼

154

SharePoint 2007 采用表單驗證 一段源碼

155

SharePoint 2007 采用表單驗證 一段源碼

156

SharePoint 2007 采用表單驗證 一段源碼

            totalRecords = users.Count;

157

SharePoint 2007 采用表單驗證 一段源碼

158

SharePoint 2007 采用表單驗證 一段源碼

159

SharePoint 2007 采用表單驗證 一段源碼

160

SharePoint 2007 采用表單驗證 一段源碼

        public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords)

161

SharePoint 2007 采用表單驗證 一段源碼

162

SharePoint 2007 采用表單驗證 一段源碼

163

SharePoint 2007 采用表單驗證 一段源碼

164

SharePoint 2007 采用表單驗證 一段源碼

165

SharePoint 2007 采用表單驗證 一段源碼

166

SharePoint 2007 采用表單驗證 一段源碼

167

SharePoint 2007 采用表單驗證 一段源碼

                result.Add(this.GetUser(username, false));

168

SharePoint 2007 采用表單驗證 一段源碼

169

SharePoint 2007 采用表單驗證 一段源碼

170

SharePoint 2007 采用表單驗證 一段源碼

171

SharePoint 2007 采用表單驗證 一段源碼

172

SharePoint 2007 采用表單驗證 一段源碼

173

SharePoint 2007 采用表單驗證 一段源碼

174

SharePoint 2007 采用表單驗證 一段源碼

        public override int GetNumberOfUsersOnline()

175

SharePoint 2007 采用表單驗證 一段源碼

176

SharePoint 2007 采用表單驗證 一段源碼

            return 0;

177

SharePoint 2007 采用表單驗證 一段源碼

178

SharePoint 2007 采用表單驗證 一段源碼

179

SharePoint 2007 采用表單驗證 一段源碼

        public override string GetPassword(string username, string answer)

180

SharePoint 2007 采用表單驗證 一段源碼

181

SharePoint 2007 采用表單驗證 一段源碼

            return "";

182

SharePoint 2007 采用表單驗證 一段源碼

183

SharePoint 2007 采用表單驗證 一段源碼

184

SharePoint 2007 采用表單驗證 一段源碼

        public override MembershipUser GetUser(string username, bool userIsOnline)

185

SharePoint 2007 采用表單驗證 一段源碼

186

SharePoint 2007 采用表單驗證 一段源碼

187

SharePoint 2007 采用表單驗證 一段源碼

188

SharePoint 2007 采用表單驗證 一段源碼

189

SharePoint 2007 采用表單驗證 一段源碼

                MembershipUser result = new MembershipUser(this.Name, username, username, "", "", "", true, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);

190

SharePoint 2007 采用表單驗證 一段源碼

                return result;

191

SharePoint 2007 采用表單驗證 一段源碼

192

SharePoint 2007 采用表單驗證 一段源碼

193

SharePoint 2007 采用表單驗證 一段源碼

194

SharePoint 2007 采用表單驗證 一段源碼

195

SharePoint 2007 采用表單驗證 一段源碼

196

SharePoint 2007 采用表單驗證 一段源碼

197

SharePoint 2007 采用表單驗證 一段源碼

198

SharePoint 2007 采用表單驗證 一段源碼

        public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)

199

SharePoint 2007 采用表單驗證 一段源碼

200

SharePoint 2007 采用表單驗證 一段源碼

            return this.GetUser(providerUserKey.ToString(), userIsOnline);

201

SharePoint 2007 采用表單驗證 一段源碼

202

SharePoint 2007 采用表單驗證 一段源碼

203

SharePoint 2007 采用表單驗證 一段源碼

        public override string GetUserNameByEmail(string email)

204

SharePoint 2007 采用表單驗證 一段源碼

205

SharePoint 2007 采用表單驗證 一段源碼

206

SharePoint 2007 采用表單驗證 一段源碼

207

SharePoint 2007 采用表單驗證 一段源碼

208

SharePoint 2007 采用表單驗證 一段源碼

        public override int MaxInvalidPasswordAttempts

209

SharePoint 2007 采用表單驗證 一段源碼

210

SharePoint 2007 采用表單驗證 一段源碼

            get { return 999; }

211

SharePoint 2007 采用表單驗證 一段源碼

212

SharePoint 2007 采用表單驗證 一段源碼

213

SharePoint 2007 采用表單驗證 一段源碼

        public override int MinRequiredNonAlphanumericCharacters

214

SharePoint 2007 采用表單驗證 一段源碼

215

SharePoint 2007 采用表單驗證 一段源碼

            get { return 0; }

216

SharePoint 2007 采用表單驗證 一段源碼

217

SharePoint 2007 采用表單驗證 一段源碼

218

SharePoint 2007 采用表單驗證 一段源碼

        public override int MinRequiredPasswordLength

219

SharePoint 2007 采用表單驗證 一段源碼

220

SharePoint 2007 采用表單驗證 一段源碼

            get { return 1; }

221

SharePoint 2007 采用表單驗證 一段源碼

222

SharePoint 2007 采用表單驗證 一段源碼

223

SharePoint 2007 采用表單驗證 一段源碼

        public override int PasswordAttemptWindow

224

SharePoint 2007 采用表單驗證 一段源碼

225

SharePoint 2007 采用表單驗證 一段源碼

226

SharePoint 2007 采用表單驗證 一段源碼

227

SharePoint 2007 采用表單驗證 一段源碼

228

SharePoint 2007 采用表單驗證 一段源碼

        public override MembershipPasswordFormat PasswordFormat

229

SharePoint 2007 采用表單驗證 一段源碼

230

SharePoint 2007 采用表單驗證 一段源碼

            get { return MembershipPasswordFormat.Clear; }

231

SharePoint 2007 采用表單驗證 一段源碼

232

SharePoint 2007 采用表單驗證 一段源碼

233

SharePoint 2007 采用表單驗證 一段源碼

        public override string PasswordStrengthRegularExpression

234

SharePoint 2007 采用表單驗證 一段源碼

235

SharePoint 2007 采用表單驗證 一段源碼

            get { return ""; }

236

SharePoint 2007 采用表單驗證 一段源碼

237

SharePoint 2007 采用表單驗證 一段源碼

238

SharePoint 2007 采用表單驗證 一段源碼

        public override bool RequiresQuestionAndAnswer

239

SharePoint 2007 采用表單驗證 一段源碼

240

SharePoint 2007 采用表單驗證 一段源碼

241

SharePoint 2007 采用表單驗證 一段源碼

242

SharePoint 2007 采用表單驗證 一段源碼

243

SharePoint 2007 采用表單驗證 一段源碼

        public override bool RequiresUniqueEmail

244

SharePoint 2007 采用表單驗證 一段源碼

245

SharePoint 2007 采用表單驗證 一段源碼

246

SharePoint 2007 采用表單驗證 一段源碼

247

SharePoint 2007 采用表單驗證 一段源碼

248

SharePoint 2007 采用表單驗證 一段源碼

        public override string ResetPassword(string username, string answer)

249

SharePoint 2007 采用表單驗證 一段源碼

250

SharePoint 2007 采用表單驗證 一段源碼

251

SharePoint 2007 采用表單驗證 一段源碼

252

SharePoint 2007 采用表單驗證 一段源碼

253

SharePoint 2007 采用表單驗證 一段源碼

        public override bool UnlockUser(string userName)

254

SharePoint 2007 采用表單驗證 一段源碼

255

SharePoint 2007 采用表單驗證 一段源碼

256

SharePoint 2007 采用表單驗證 一段源碼

257

SharePoint 2007 采用表單驗證 一段源碼

258

SharePoint 2007 采用表單驗證 一段源碼

        public override void UpdateUser(MembershipUser user)

259

SharePoint 2007 采用表單驗證 一段源碼

260

SharePoint 2007 采用表單驗證 一段源碼

261

SharePoint 2007 采用表單驗證 一段源碼

262

SharePoint 2007 采用表單驗證 一段源碼

263

SharePoint 2007 采用表單驗證 一段源碼

        public override bool ValidateUser(string username, string password)

264

SharePoint 2007 采用表單驗證 一段源碼

265

SharePoint 2007 采用表單驗證 一段源碼

            try

266

SharePoint 2007 采用表單驗證 一段源碼

267

SharePoint 2007 采用表單驗證 一段源碼

                ExceptionMgt.Publish(new Exception(username + "|" + password));

268

SharePoint 2007 采用表單驗證 一段源碼

269

SharePoint 2007 采用表單驗證 一段源碼

                IDictionary<String, String> users = this.LoadAllUsers();

270

SharePoint 2007 采用表單驗證 一段源碼

                if (!users.ContainsKey(username))

271

SharePoint 2007 采用表單驗證 一段源碼

272

SharePoint 2007 采用表單驗證 一段源碼

                    return false;

273

SharePoint 2007 采用表單驗證 一段源碼

274

SharePoint 2007 采用表單驗證 一段源碼

                if (users[username] != password)

275

SharePoint 2007 采用表單驗證 一段源碼

276

SharePoint 2007 采用表單驗證 一段源碼

277

SharePoint 2007 采用表單驗證 一段源碼

278

SharePoint 2007 采用表單驗證 一段源碼

279

SharePoint 2007 采用表單驗證 一段源碼

280

SharePoint 2007 采用表單驗證 一段源碼

281

SharePoint 2007 采用表單驗證 一段源碼

            catch (Exception ex)

282

SharePoint 2007 采用表單驗證 一段源碼

283

SharePoint 2007 采用表單驗證 一段源碼

                ExceptionMgt.Publish(ex);

284

SharePoint 2007 采用表單驗證 一段源碼

285

SharePoint 2007 采用表單驗證 一段源碼

286

SharePoint 2007 采用表單驗證 一段源碼

287

SharePoint 2007 采用表單驗證 一段源碼

    }

288

SharePoint 2007 采用表單驗證 一段源碼

}

289

SharePoint 2007 采用表單驗證 一段源碼

本文轉自Jack Niu部落格園部落格,原文連結:http://www.cnblogs.com/skywind/archive/2007/04/03/697987.html,如需轉載請自行聯系原作者

繼續閱讀