我有一个asp.net项目,我正在尝试开发用户个人资料部分,以便用户可以使用他们自己的个人资料(包含管理员和用户的个人资料)登录。
当用户登录然后让用户在站点中浏览时,是否可以在用户计算机上设置cookie? 我的意思是在检查用户名和密码之后,通过在每个页面上检查此cookie,我让用户浏览页面或重定向到登录页面。
这样可以吗?
这样安全吗?
对此有没有更好的方法?
答案 0 :(得分:2)
您可以使用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
答案 1 :(得分:0)
我已经写了一些关于从头开始创建配置文件的方法答案:
对于网站(根据Web.config设置自动为您生成配置文件对象)。
对于Web应用程序(如MVC,您需要指定继承ProfileBase
的类)