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 Email
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>
VUE