1

我是 C# 和 ASP.NET(不是 MVC)的新手,正在尝试编写一个网站。

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

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

例如,使用 Session 并将 User Name、Id 等写入 session 并在每个页面请求中读取 session 以检查是否有任何成员信息是否是一种好方法;如果是这样,根据会员的喜好设置页面布局?

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

谢谢

4

1 回答 1

3

我建议最好的方法是使用已被证明可行的预先存在的解决方案。

对于身份验证,请使用MemberShipProvider. 例如,如果您不想使用SqlMembershipProvider,请随时通过派生来实现自己的System.Web.Security.MembershipProvider. 然后在您的应用程序文件中注册您的自定义提供web.config程序。

要开始使用,只需在网上搜索“构建自定义会员提供程序”,您就会发现很多教程。

对于授权,请使用 中的<authorization>...</authorization>部分提供的可能性web.config。确保了解在应用程序的子文件夹中放置其他 web.config 文件的可能性。

如果您需要基于角色的授权,请使用RoleProvider. 相关网页搜索:“构建自定义角色提供者”。

如果您想允许您的用户存储首选项,请使用ProfileProvider.

总之,抵制重新发明轮子的诱惑......

于 2012-08-15T08:23:56.760 回答