我有一个 asp.net 项目,我正在尝试开发用户配置文件部分,以便用户可以使用自己的配置文件(包含管理员和用户的配置文件)登录。
当用户登录时,是否可以在用户计算机上设置cookie,然后让用户在网站中浏览?我的意思是,在我检查用户名和密码之后,通过在每个页面上检查此cookie,我让用户浏览页面或重定向到登录页面。
这样好吗?
使用安全吗?
有没有更好的方法?
您可以使用 SqlProfileProvider。添加配置文件属性可以通过向 web.confing 添加一些代码来完成(在 system.web 部分中,必须存在 sqlprofile 结构的数据库):
<profile defaultProvider="SqlProvider">
<providers>
<clear/>
<add name="SqlProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ASPNETDB" applicationName="MyApplication" description="SqlProfileProvider"/>
</providers>
<properties>
<add name="LanguageId" allowAnonymous="false" type="System.Int32"/>
<add name="Company" allowAnonymous="false" type="System.String"/>
</properties>
</profile>
在此示例中,我添加了两个配置文件属性 languageId nad Company。可以使用以下代码访问此属性:
ProfileBase profile = ProfileBase.Create("SomeUserName");
string company = (string)profile["Company"];
有关 SqlProfileProvider 的其他信息,请访问以下链接:
http://msdn.microsoft.com/en-us/library/system.web.profile.sqlprofileprovider.aspx
我写了几个关于从头开始创建配置文件的操作答案:
-
对于网站(根据 Web.config 设置自动生成配置文件对象)。
- 如何保留匿名用户选择(例如:主题选择)
-
对于 Web 应用程序(如 MVC,您需要指定继承
ProfileBase
的类)- 在 MVC Web 应用程序中访问 profile.newproperty