当前位置: 首页 > news >正文

淮安汽车集团网站建设/全球搜索

淮安汽车集团网站建设,全球搜索,企业外贸网站建设方案,深圳效果图制作环境:.Net 2.0,非1.1注意,这里用的是Login控件为什么要自定义呢?首先,自定义有更大的灵活性,不必过份依赖于aspnetdb数据库,有利于自己的扩展;其次,自定义以后仍然可以用.Net 2.0中自…
环境:.Net 2.0,非1.1
注意,这里用的是Login控件
为什么要自定义呢?
首先,自定义有更大的灵活性,不必过份依赖于aspnetdb数据库,有利于自己的扩展;其次,自定义以后仍然可以用.Net 2.0中自带的Login控件。
当然,自定义不是随便自定义,而要是实现二个抽象类:
MembershipProvider和RoleProvider
这二个抽象类的说明请参见SDK 2.0或MSDN,这里不多说了。
在这个Demo中,MembershipProvider中要重写的方法有:ValidateUser
因为我只是为了验证用户,要实现创建、编辑,就要实现UpdateUser方法、CreateUser方法了。
看ValidateUser方法的重写:[MyMemberShip.cs]

[Copy to clipboard] [ - ]
CODE:
public override bool ValidateUser(string username, string password)
    {
        using (OleDbConnection conn = new OleDbConnection(connectionstring))
        {
            OleDbCommand comm = new OleDbCommand();
            comm.CommandText = "select count(0) from users where u_name=@name and u_pwd=@pwd";
            comm.Parameters.AddWithValue("@name", username);
            comm.Parameters.AddWithValue("@pwd", password);
            comm.Connection = conn;
            conn.Open();
            return ((int)comm.ExecuteScalar()) > 0 ? true : false;
        }
    }

这里的变量connectionstring我写在.cs里了,这只是为了演示,应该写在web.config中的。这个方法不用多说,相信大家能看明白。
这就实现了用户的验证。
下面实现角色的验证[MyRole.cs]
要实现的方法有:
bool IsUserInRole(string username, string roleName)
用于验证用户是否属于指定的角色

[Copy to clipboard] [ - ]
CODE:
public override bool IsUserInRole(string username, string roleName)
    {
        using (OleDbConnection conn = new OleDbConnection(connectionstring))
        {
            OleDbCommand comm = new OleDbCommand();
            comm.CommandText = "select top 1 * from users where u_name=@name and u_role=@role";
            comm.Parameters.AddWithValue("@name", username);
            comm.Parameters.AddWithValue("@role", roleName);
            comm.Connection = conn;
            conn.Open();
            using (OleDbDataReader dr = comm.ExecuteReader())
            {
                if (dr.HasRows)
                {
                  
                        return true;
                    
                }
                return false;
            }
        }
    }

代码简单,也不多说了
第二个要实现的方法:
string[] GetRolesForUser(string username),取得当前用户的所有角色列表

[Copy to clipboard] [ - ]
CODE:
public override string[] GetRolesForUser(string username)
    {
        string[] tmp = new string[] { };
        using (OleDbConnection conn = new OleDbConnection(connectionstring))
        {
            OleDbCommand comm = new OleDbCommand();
            comm.CommandText = "select top 1 * from users where u_name=@name";
            comm.Parameters.AddWithValue("@name", username);
           
            comm.Connection = conn;
            conn.Open();
            using (OleDbDataReader dr = comm.ExecuteReader())
            {
                if (dr.Read())
                {
                    tmp = dr["U_role"].ToString().Split(',');
                }
            }
        }
        return tmp;
    }

下面就是更改web.config了
首先,需要对相关页作forms验证
<authentication mode="Forms">
            <forms defaultUrl="default.aspx" loginUrl="userlogin.aspx" path="/" name="Demo"/>
        </authentication>
注意下面的配置,重中之重

[Copy to clipboard] [ - ]
CODE:
<membership defaultProvider="MyMemberShip">
            <providers>
                <add name="MyMemberShip" type="MyMemberShip" requiresQuestionAndAnswer="true" connectionString="Provider =Microsoft.Jet.OLEDB.4.0;Data Source=H:\Documents and Settings\Administrator \桌面\Demo\demo.mdb;Persist Security Info=False"/>
            </providers>
        </membership>
        <roleManager defaultProvider="MyRole" enabled="true">
            <providers>
                <add name="MyRole" type="MyRole"/>
            </providers>
        </roleManager>

注意roleManager中的enabled一定要为true,否则会失效。

[Copy to clipboard] [ - ]
CODE:
<location path="admin.aspx">
        <system.web>
            <authorization>
                <allow roles="admin"/>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>
    <location path="guest.aspx">
        <system.web>
            <authorization>
                <allow roles="guest"/>
                <deny users="*"/>
            </authorization>
        </system.web>
    </location>

对admin.aspx与guest.aspx做不同的角色控制
http://www.lbrq.cn/news/1558423.html

相关文章:

  • 如何进行网站网站调试/高明公司搜索seo
  • 做网站怎么切图/中山网站建设
  • 宁波网站建设网络推广/新闻摘抄2022最新20篇
  • 如何在youtube找人做视频网站/搜索引擎优化推广
  • 银锭网那个网站做的 好/seo咨询服务价格
  • 温州的网站建设公司/百度明令禁止搜索的词
  • b2C购物网站都有哪些/新品怎么推广效果最好
  • 学校要建个网站应该怎么做/河北网站建设案例
  • 我的网站要怎样做才能让人家搜到/网络销售怎么做才能做好
  • 网站结构形式/关键词查询工具免费
  • 呼伦贝尔建设网站/网络营销的专业知识
  • 亚购物车功能网站怎么做的/网络推广的目标
  • lol做任务领头像网站/中国公关公司前十名
  • 制作小视频/高级seo优化招聘
  • 网络认证网站/阿里巴巴怎么优化关键词排名
  • 盐城网站建设案例/如何搭建企业网站
  • 老网站做成适合手机端的网站怎么做/湖南百度推广开户
  • 口碑最好的旅游网站/百度优化推广
  • 做旅游网站的社会效益可行性/谷歌浏览器chrome官网
  • 长沙城乡建设网站首页/整合营销传播理论
  • 网站程序如何制作/seo刷排名软件
  • 网站推广做多大尺寸/成都网站推广
  • 网站编辑 seo/站长工具搜索
  • 美食鉴赏国内网站/流量平台排名
  • 太原网站推广怎么做/网址链接生成器
  • 珠海专业做网站的公司/百度主页
  • 网站推广优势/产品网络推广方案
  • 网站title在哪里/网上营销是做什么的
  • 二级网站建设方案模板/深圳aso优化
  • 深圳网站建设app开发/广西关键词优化公司
  • 自然语言处理NLP---预训练模型与 BERT
  • JavaScript字符串详解
  • SQL Server 2019安装教程(超详细图文)
  • 19.3 Transformers量化模型极速加载指南:4倍推理加速+75%显存节省实战
  • 服务器可以ping通,但部署的网站打不开
  • 从“Hello World”到“高并发中间件”:Go 语言 2025 系统学习路线图