ASP.NET Web Pages - WebSecurity ఆబ్జెక్ట్

వివరణ

WebSecurity ఆబ్జెక్ట్ అనేది ASP.NET Web Pages అప్లికేషన్స్ కు భద్రత మరియు ప్రమాణీకరణను అందిస్తుంది.

WebSecurity ఆబ్జెక్ట్ ద్వారా, మీరు యూజర్ అకౌంట్ను సృష్టించడం, లాగిన్, లాగ్ఆఉట్, పాస్వర్డ్ రీసెట్ లేదా మార్చడం మొదలైన వివిధ చర్యలను చేపట్టగలరు.

WebSecurity ఆబ్జెక్ట్ పరిచయం - లక్షణాలు

లక్షణాలు వివరణ
CurrentUserId ప్రస్తుత యూజర్ ఐడిని పొందండి。
CurrentUserName ప్రస్తుత యూజర్ పేరును పొందండి。
HasUserId ప్రస్తుత యూజర్కు యూజర్ ఐడి ఉన్నారా అనే సూచకాన్ని పొందండి. ఉన్నట్లయితే, true ని తిరిగి ఇవ్వండి。
IsAuthenticated ప్రస్తుత యూజర్ ప్రమాణీకరణ స్థితిని పొందండి。

WebSecurity ఆబ్జెక్ట్ పరిచయం - పద్ధతులు

లక్షణాలు వివరణ
ChangePassword() యూజర్ పాస్వర్డును మార్చండి。
ConfirmAccount() అకౌంట్ను చెల్లనికి నిర్ధారించండి మరియు అకౌంట్ను క్రియాశీలం చేయండి。
CreateAccount() కొత్త యూజర్ అకౌంట్ను సృష్టించండి。
CreateUserAndAccount() కొత్త యూజర్ అకౌంట్ను సృష్టించండి。
GeneratePasswordResetToken() యూజర్కు ఇమెయిల్ ద్వారా పంపబడే పాస్వర్డ్ రీసెట్ టోకెన్ను సృష్టించండి。
GetCreateDate() ప్రస్తావించిన మైబర్షిప్ అకౌంట్ సృష్టించిన తేదీ మరియు సమయాన్ని పొందండి。
GetPasswordChangeDate() ప్రస్తావించిన మైబర్షిప్ అకౌంట్ పాస్వర్డును చివరిగా మార్చిన తేదీ మరియు సమయాన్ని పొందండి。
GetPasswordFailures
SinceLastSuccess()
చివరి విజయవంతమైన లాగిన్ లేదా మైబర్షిప్ అకౌంట్ సృష్టించిన తర్వాత తప్పుగా పాస్వర్డు ప్రవేశపెట్టిన సంఖ్యను పొందండి。
GetUserId() ప్రస్తావించిన యూజర్ పేరును బట్టి యూజర్ ఐడి ని పొందండి。
GetUserIdFrom
PasswordResetToken ()
పాస్వర్డ్ రీసెట్ టోకెన్ నుండి ఉపయోగదారు ఐడిని తిరిగి ఇస్తుంది.
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 డేటాబేస్ని సృష్టించండి లేదా ప్రారంభ పరిచయం చేయండి.

వెబ్ సర్వ్స్ డెస్క్ ఫోల్డర్లో, _AppStart.cshtml పేజీని సృష్టించండి లేదా సవరండి.

ఈ ఫైల్లో ఈ కోడ్ని వ్రాయండి:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", 
true);
}

వెబ్ సైట్ ప్రతి ప్రారంభంలో ఈ కోడ్ని నడపబడుతుంది. ఇది WebSecurity డేటాబేస్ ని ప్రారంభ పరిచయం చేస్తుంది.

"Users" వెబ్ సెక్యూరిటీ డేటాబేస్ పేరు. (Users.sdf)

"UserProfile" ఉపయోగించబడుతుంది ఉపయోగదారు సంకేతాల కలిగిన డేటాబేస్ పట్టిక పేరు.

"UserId" 包含用户 ID 的列的名称(主键)。

"Email" 是包含用户名称的列名。

最后一个参数 true 是一个逻辑值,指示应创建用户配置文件表和成员资格表(如果它们不存在),否则 false。

సూచన: అనుమతి వారు డేటాబేస్ పట్టికలను స్వయంచాలకంగా సృష్టించడానికి సూచించే కాదు, అయితే డేటాబేస్ స్వయంచాలకంగా సృష్టించబడదు. అది ఉండాలి.

WebSecurity డేటాబేస్

UserProfile పట్టికలోని ప్రతి రికార్డ్ ఒక వినియోగదారిని ప్రతినిధీకరిస్తుంది, దీనిలో వినియోగదారి ఐడి (ప్రధాన కీ) మరియు వినియోగదారి పేరు (ఇమెయిల్):

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 మెంబర్షిప్ సిస్టమ్ సామ్ప్రదాయిక మెంబర్షిప్ సిస్టమ్ కానీ ఆకృతీకరించబడలేదు అయితే, WebSecurity ఆబ్జెక్ట్ వినియోగించడం వద్ద తప్పు జరగవచ్చు.

హోస్ట్ ప్రొవైడర్ యొక్క కాన్ఫిగరేషన్ మీ స్థానిక సర్వర్ తో వ్యత్యాసం ఉంటే, తప్పు జరుగుతుంది. ఈ సమస్యను పరిష్కరించడానికి, సైట్ యొక్క Web.config ఫైల్లో క్రింది కింది అంశాన్ని జోడించండి:

<appSettings> 
<add key="enableSimpleMembership" value="true" /> 
</appSettings>