asp.net Forms身份验证和基于角色的权限访问
Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面。
主要思想:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面。
具体步骤:
1、创建一个网站,结构如下:
网站根目录
Admin目录 ----> 管理员目录
Manager.aspx ----> 管理员可以访问的页面
Users目录 ----> 注册用户目录
Welcome.aspx ----> 注册用户可以访问的页面
Error目录 ----> 错误提示目录
AccessError.htm ----> 访问错误的提示页面
default.aspx ----> 网站默认页面
login.aspx ----> 网站登录页面
web.config ----> 网站配置文件
2、配置web.config如下:
复制代码 代码如下:
<configuration>
<system.web>
<!--设置Forms身份验证-->
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name="MyWebApp.APSXAUTH" path="/" protection="All" timeout="30"/>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</configuration>
<!--设置Admin目录的访问权限-->
<location path="Admin">
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="?"/>
</authorization>
</system.web>
</location>
<!--设置Users目录的访问权限-->
<location path="Users">
<system.web>
<authorization>
<allow roles="User"/>
<deny users="?"/>
</authorization>
</system.web>
</location>
3、在login.aspx页面的登录部分代码如下:
复制代码 代码如下:
protected void btnLogin_Click(object sender, EventArgs e)
{
//Forms身份验证初始化
FormsAuthentication.Initialize();
//验证用户输入并得到登录用户,txtName是用户名称,txtPassword是登录密码
UserModel um = ValidUser(txtName.Text.Trim(),txtPassword.Text.Trim());
if (um != null)
{
//创建身份验证票据
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
um.Name,
DateTime.Now,
DateTime.Now.AddMinutes(30),
true,
um.Roles,//用
相关文档:
写cookie
1 HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项
2 DateTime dt = DateTime.Now;//定义时间对象
3 TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用时间,具体查msdn
4 cookie.Expires = dt.Add(ts);//添加作用时间
5 cookie.Values.Add("user","cx ......
在后台用C#枚举控件不像javascript那么简单,HasControls只能抓到直属下级的控件,如果有多个div,table嵌套,就要递归了
public static void CloseAllContent(System.Web.UI.Control page,bool bOpen)
{
int nPageControls = page.Controls.Count ......
Windows 身份验证提供程序 提供有关如何将 Windows 身份验证与 Microsoft Internet 信息服务 (IIS) 身份验证结合使用来确保 ASP.NET 应用程序安全的信息。 Forms 身份验证提供程序 提供有关如何使用您自己的代码创建应用程序特定的登录窗体并执行身份验证的信息。使用 Forms 身份验证的一种简便方法是使用 ASP.NET 成员资格 ......
环境:ASP.NET(C#),Visual Studio 2010。
提示:未能加载类型“EMS.App_Code.PersonalInfo”。如果该类型位于App_Code文件夹中,请检查它是否已编译。如果该类型位于已编译的程序集中,请检查该程序集是否被该项目引用。
处理:
自己做得一个小程序,取名EMS,并在App_Code文件夹下建立了类PersonalInfo、Sal ......
公司交给我个项目,已经完成了一部分,需要做中英文双语言,以前听别人说程序多语言什么的,都不知道从哪下手得。项目架构已经搭好了,大概看了一下,知道是使用资源文件来实现的,不说了,赶紧自己试试吧。试了才会记住,才是自己的O(∩_∩)O~
1. 新建Asp.net Web应用程序ChangeLanuage,新建aspx页面Defau ......