ASP.NET Web Pages - WebSecurity ¶ÔÏó
ÃèÊö
WebSecurity ¶ÔÏóÌṩΪ ASP.NET Web Pages Ó¦ÓóÌÐòÌṩ°²È«ºÍÈÏÖ¤¡£
ͨ¹ý WebSecurity ¶ÔÏó£¬ÄúÄܹ»´´½¨Óû§ÕË»§¡¢µÇ¼ºÍ×¢Ïú£¬ÖØÖûò¸ü¸ÄÃÜÂëµÈµÈ¡£
WebSecurity ¶ÔÏó²Î¿¼ÊÖ²á - ÊôÐÔ
ÊôÐÔ | ÃèÊö |
---|---|
CurrentUserId | »ñÈ¡µ±Ç°Óû§µÄ ID¡£ |
CurrentUserName | »ñÈ¡µ±Ç°Óû§µÄÃû³Æ¡£ |
HasUserId | »ñȡָʾµ±Ç°Óû§ÊÇ·ñ¾ßÓÐÓû§ ID µÄÖµ¡£Èç¹ûÊÇ£¬·µ»Ø true¡£ |
IsAuthenticated | »ñÈ¡µ±Ç°Óû§µÄÉí·ÝÑé֤״̬¡£ |
WebSecurity ¶ÔÏó²Î¿¼ÊÖ²á - ·½·¨
ÊôÐÔ | ÃèÊö |
---|---|
ChangePassword() | ¸ü¸ÄÓû§µÄÃÜÂë¡£ |
ConfirmAccount() | È·ÈÏÕÊ»§ÓÐЧ²¢¼¤»î¸ÃÕÊ»§¡£ |
CreateAccount() | ´´½¨ÐµÄÓû§ÕÊ»§¡£ |
CreateUserAndAccount() | ´´½¨ÐµÄÓû§ÕÊ»§¡£ |
GeneratePasswordResetToken() | Éú³É¿ÉÒÔͨ¹ýµç×ÓÓʼþ·¢Ë͸øÓû§µÄÃÜÂëÖØÖÃÁîÅÆ¡£ |
GetCreateDate() | ·µ»Ø´´½¨Ö¸¶¨³ÉÔ±×ʸñÕÊ»§µÄÈÕÆÚºÍʱ¼ä¡£ |
GetPasswordChangeDate() | ·µ»Ø×î½ü¸ü¸ÄÖ¸¶¨³ÉÔ±×ʸñÕÊ»§ÃÜÂëµÄÈÕÆÚºÍʱ¼ä¡£ |
GetPasswordFailures SinceLastSuccess() |
·µ»Ø×ÔÉϴγɹ¦µÇ¼»ò´´½¨³ÉÔ±×ʸñÕÊ»§ÒÔÀ´´íÎóÊäÈëÃÜÂëµÄ´ÎÊý¡£ |
GetUserId() | »ùÓÚÖ¸¶¨Óû§Ãû·µ»ØÓû§ ID¡£ |
GetUserIdFrom PasswordResetToken () |
´ÓÃÜÂëÖØÖÃÁîÅÆÖзµ»ØÓû§ ID¡£ |
InitializeDatabaseConnection() | ͨ¹ýÁ¬½Óµ½°üº¬Óû§ÐÅÏ¢µÄÊý¾Ý¿âÀ´³õʼ»¯³ÉÔ±×ʸñϵͳ¡£ |
IsAccountLockedOut() | ָʾָ¶¨µÄ³ÉÔ±×ʸñÕÊ»§ÊÇ·ñÒòΪÃÜÂë³¢ÊÔʧ°Ü´ÎÊýÌ«¶à¶ø±»Ëø¶¨¡£ |
IsConfirmed() | ·µ»ØÒ»¸öÖµ£¬Ö¸Ê¾Óû§ÊÇ·ñÒѾ¹ýÈ·ÈϵÄÖµ¡£ |
IsCurrentUser() | ·µ»ØÒ»¸öÖµ£¬Ö¸Ê¾ÒѵǼÓû§µÄÓû§ÃûÊÇ·ñÓëÖ¸¶¨Óû§ÃûÆ¥ÅäµÄÖµ¡£ |
Login() | µÇ¼Óû§¡£ |
Logout() | ×¢ÏúÓû§¡£ |
RequireAuthenticatedUser() | Èç¹ûÓû§Î´¾¹ýÉí·ÝÑéÖ¤£¬Ç뽫 HTTP ״̬ÉèÖÃΪ 401£¨Î´¾ÊÚȨ£©¡£ |
RequireRoles() | Èç¹ûµ±Ç°Óû§²»ÊôÓÚÖ¸¶¨µÄ½ÇÉ«£¬Ç뽫 HTTP ״̬´úÂëÉèÖÃΪ 401¡£ |
RequireUser() | Èç¹ûµ±Ç°Óû§²»ÊÇÖ¸¶¨Óû§£¬Ç뽫 HTTP ״̬ÉèÖÃΪ 401¡£ |
ResetPassword() | ͨ¹ýʹÓÃÃÜÂëÖØÖÃÁîÅÆÀ´ÖØÖÃÃÜÂë¡£ |
UserExists() | ¼ì²éÓû§ÊÇ·ñ´æÔÚ¡£ |
¼¼ÊõÊý¾Ý
Ãû³Æ | Öµ |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
³õʼ»¯ WebSecurity Êý¾Ý¿â
ÔÚ´úÂëÖÐʹÓà WebSecurity ¶ÔÏó֮ǰ£¬±ØÐë´´½¨»ò³õʼ»¯ WebSecurity Êý¾Ý¿â¡£
ÔÚ web ¸üĿ¼ÖУ¬´´½¨»ò±à¼ _AppStart.cshtml Ò³Ãæ¡£
ÔÚ¸ÃÎļþÖÐдÈëÒÔÏ´úÂ룺
_AppStart.cshtml
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }
ÍøÕ¾Ã¿´ÎÆô¶¯Ê±¶¼»áÔËÐÐÒÔÉÏ´úÂë¡£Ëü»á¶Ô WebSecurity Êý¾Ý¿â½øÐгõʼ»¯¡£
"Users" ÊÇ WebSecurity Êý¾Ý¿âµÄÃû³Æ¡£(Users.sdf)
"UserProfile" Êǰüº¬Óû§ÅäÖÃÐÅÏ¢µÄÊý¾Ý¿â±íµÄÃû³Æ¡£
"UserId" °üº¬Óû§ ID µÄÁеÄÃû³Æ£¨Ö÷¼ü£©¡£
"Email" Êǰüº¬Óû§Ãû³ÆµÄÁÐÃû¡£
×îºóÒ»¸ö²ÎÊý true ÊÇÒ»¸öÂß¼Öµ£¬Ö¸Ê¾Ó¦´´½¨Óû§ÅäÖÃÎļþ±íºÍ³ÉÔ±×ʸñ±í£¨Èç¹ûËüÃDz»´æÔÚ£©£¬·ñÔò false¡£
Ìáʾ£º¾¡¹Ü true ָʾ×Ô¶¯´´½¨Êý¾Ý¿â±í£¬µ«Êý¾Ý¿â±¾Éí²»»á±»×Ô¶¯´´½¨¡£Ëü±ØÐë´æÔÚ¡£
WebSecurity Êý¾Ý¿â
UserProfile ±íÖеÄÿÌõ¼Ç¼´ú±íÒ»¸öÓû§£¬ÆäÖаüÀ¨Óû§ ID £¨Ö÷¼ü£©ºÍÓû§Ãû³Æ£¨email£©£º
UserId | |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
Membership ±í°üº¬³ÉÔ±×ʸñÐÅÏ¢£¬±ÈÈçÓû§ºÎʱ´´½¨ÒÔ¼°ÊÇ·ñ£¨ÒÔ¼°ºÎʱ£©È·ÈϳÉÔ±×ʸñ¡£
ÀàËÆÕâÑù£¨Ä³Ð©ÁÐδÁгö£©£º
UserId | ´´½¨ÈÕÆÚ | È·ÈÏ ÁîÅÆ |
ÊÇ·ñ È·ÈÏ |
×îºóµÄ ÃÜÂë´íÎó |
ÃÜÂë | ÃÜÂë¸ü¸Ä |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:17 |
×¢ÊÍ£ºÈç¹ûÄúÏ£Íû¿´µ½ËùÓÐÁкÍËùÓÐÄÚÈÝ£¬Çëͨ¹ý WebMatrix ´ò¿ªÊý¾Ý¿â£¬È»ºó²é¿´Ã¿ÕÅ±í¡£
¼òµ¥µÄ³ÉÔ±×ʸñÅäÖÃ
Èç¹ûÄúµÄÕ¾µãδÅäÖÃΪʹÓà ASP.NET Web Pages ³ÉÔ±×ʸñϵͳ SimpleMembership£¬ÄÇô¿ÉÄÜ»áÔÚʹÓà WebSecurity ¶ÔÏóʱ³öÏÖ´íÎó¡£
Èç¹ûÖ÷»úÌṩÉ̵ÄÅäÖÃÓëÄúµÄ±¾µØ·þÎñÆ÷²»Í¬£¬¾Í»á·¢Éú´íÎó¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬ÇëÔÚÕ¾µãµÄ Web.config ÎļþÖÐÌí¼ÓÒÔÏÂÔªËØ£º
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>