Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET登录、授权和会话管理方法_C#_Asp.net_Session_Login_Authorization - Fatal编程技术网

C# ASP.NET登录、授权和会话管理方法

C# ASP.NET登录、授权和会话管理方法,c#,asp.net,session,login,authorization,C#,Asp.net,Session,Login,Authorization,我不熟悉C#和ASP.NET(不是MVC)并尝试编写网站代码 问题是: 登录、授权和会话管理的最佳方法是什么?我不是在问如何使用内置的成员类或其他现成的解决方案。我只是要求一种手动方法或方法 成员写入用户名和密码并单击提交按钮后;当用户浏览网页、单击按钮或以某种方式与网站交互时,您认为哪一个是保持用户登录的最佳解决方案 例如,使用Session并将用户名、Id等写入Session并在每个页面请求中读取Session以检查是否有任何成员信息是一种好方法;如果是,请根据成员的首选项设置页面布局 或者

我不熟悉C#和ASP.NET(不是MVC)并尝试编写网站代码

问题是: 登录、授权和会话管理的最佳方法是什么?我不是在问如何使用内置的成员类或其他现成的解决方案。我只是要求一种手动方法或方法

成员写入用户名和密码并单击提交按钮后;当用户浏览网页、单击按钮或以某种方式与网站交互时,您认为哪一个是保持用户登录的最佳解决方案

例如,使用Session并将用户名、Id等写入Session并在每个页面请求中读取Session以检查是否有任何成员信息是一种好方法;如果是,请根据成员的首选项设置页面布局

或者在登录中创建一个对象,根据登录用户设置它的属性,在整个会话中使用同一个对象,并在注销时销毁它


Thx

我建议最好的方法是使用一种已经证明可行的现有解决方案

要进行身份验证,请使用
成员资格提供程序
。例如,如果您不想使用
SqlMembershipProvider
,可以通过从
System.Web.Security.MembershipProvider
派生实现您自己的。然后在应用程序的
web.config
文件中注册自定义提供程序

要开始,只需在web上搜索“构建自定义会员资格提供商”,您将找到大量教程


对于授权,请使用

提供的可能性内置登录有什么问题?@AmiramKorach太过分了,您确实需要使用他们自己的模式!user1599986请不要玩安全游戏。我再怎么强调都不为过,框架中已经存在的安全性和经验证的解决方案有多重要;内置登录没有问题,我现在只想知道他们的方法。资源部的balexandre Thx。Tomas我知道安全性很重要,我不想实现我自己的非安全系统,而不是一个经过验证的解决方案。我很感激你的回答,但我不是想重新发明轮子,而是想了解轮子是如何工作的。使用集成解决方案总是很容易而且省时,但我相信,如果内置解决方案不适用,人们应该知道其他生存方式