array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 ASP.NET 完成基于表单的身份验证 - 爱码网


实现:验证用户身份成功,并登陆后台Admin文件夹里的index.aspx后台管理首页面,否则禁止匿名用户访问项目中的Admin文件夹里的任何一个文件。


 

步骤一:

 在根目录下的web.config中加入:

<system.web> 

<authentication mode="Forms">
            <forms loginUrl="Login.aspx" defaultUrl="Admin/Index.aspx" name=".ASPXFORMSAUTH" timeout="30">
            </forms>
</authentication> 

</system.web> 

 loginUrl用户没有登录,跳转到的登录页面   login.aspx

 defaultUrl正确登录之后,在后台代码没有指向指定页的时候,系统将自动跳转的页面

        name:

 

步骤二:

步骤二可以由俩种方法:

1)、在Admin文件夹下新建一个web.config文件,并加入以下代码

<system.web>
        <!--拒绝匿名用户访问此目录下的任何文件-->
        <authorization>
            <deny users="?"/>
        </authorization>        
</system.web> 

 deny users="?":表示禁止匿名用户访问Admin目录下的任何文件

 到目前为止,只要你访问Admin下的任何文件,都会自动跳转到Login.aspx登陆页面了,要求你先登录,否则别想看到页面。

2)、在根目录下的web.config文件中的<system.web> 的结束标记</system.web> 后加入一下代码:

  <location path="Admin">
        <system.web>
            <authorization>
                <deny users="?"/>
            </authorization>
        </system.web>
   </location>

path:表示设置所要针对的路径/目录

deny users="?":表示禁止匿名用户访问Admin目录下的任何文件

 

步骤三:

在根目录下,创建Login.aspx登陆页面(可不是在Admin目录下),加两个textbox控件一个botton控件,分别是用户名密码,和登陆按钮

双击登陆按钮,在其登陆方法里写上:

protected void btn_Login_Click(object sender, EventArgs e)
{
        if (TextBox1.Text == "admin" && TextBox2.Text == "fenghua17173")
        {
            //“通知”表单验证,该用户名已经通过身份验证
            FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, true);
        }
        else
        {
            Response.Write("<script>alert('账号或密码有误,登录失败!');</script>");
        }
} 

这时你在login.aspx页面里填上账号密码,系统就会根据根你在根目录下web.config中配置的 defaultUrl地址路径跳转过去,也就是Admin/Index.aspx页面。

现在Admin目录下的所有页面,均已通过身份验证,得到了可访问的票据。

 

最后一点:

有了登录,当然别忘了需要注销,这个更简单:

在Admin目录下的任何一个页面中,加一个注销button按钮,并在其方法下写入:

 

//退出系统,注销用户
protected void btn_Logout_Click(object sender, EventArgs e)
{
        //删除用户票据
        FormsAuthentication.SignOut();

 

        //重新定向到登陆页面
        FormsAuthentication.RedirectToLoginPage();

}

 

好了,你已经知道如何配置web.Config中的authentication,来完成基于表单的身份验证了。

 

本文参考:http://www.fengfly.com/plus/view-174785-1.html

 

思考:

网站结构如下
    /index.aspx
    /userLogin.aspx
    /adminLogin.aspx
    /user/*.aspx
    /admin/*.aspx

需求:在未登录的情况下:

      访问/user/路径下的页面的请求转向到/userLogin.aspx;
              访问/admin/路径下的页面的请求被转向到/adminLogin.aspx;


实现:验证用户身份成功,并登陆后台Admin文件夹里的index.aspx后台管理首页面,否则禁止匿名用户访问项目中的Admin文件夹里的任何一个文件。


 

步骤一:

 在根目录下的web.config中加入:

<system.web> 

<authentication mode="Forms">
            <forms loginUrl="Login.aspx" defaultUrl="Admin/Index.aspx" name=".ASPXFORMSAUTH" timeout="30">
            </forms>
</authentication> 

</system.web> 

 loginUrl用户没有登录,跳转到的登录页面   login.aspx

 defaultUrl正确登录之后,在后台代码没有指向指定页的时候,系统将自动跳转的页面

        name:

 

步骤二:

步骤二可以由俩种方法:

1)、在Admin文件夹下新建一个web.config文件,并加入以下代码

<system.web>
        <!--拒绝匿名用户访问此目录下的任何文件-->
        <authorization>
            <deny users="?"/>
        </authorization>        
</system.web> 

 deny users="?":表示禁止匿名用户访问Admin目录下的任何文件

 到目前为止,只要你访问Admin下的任何文件,都会自动跳转到Login.aspx登陆页面了,要求你先登录,否则别想看到页面。

2)、在根目录下的web.config文件中的<system.web> 的结束标记</system.web> 后加入一下代码:

  <location path="Admin">
        <system.web>
            <authorization>
                <deny users="?"/>
            </authorization>
        </system.web>
   </location>

path:表示设置所要针对的路径/目录

deny users="?":表示禁止匿名用户访问Admin目录下的任何文件

 

步骤三:

在根目录下,创建Login.aspx登陆页面(可不是在Admin目录下),加两个textbox控件一个botton控件,分别是用户名密码,和登陆按钮

双击登陆按钮,在其登陆方法里写上:

protected void btn_Login_Click(object sender, EventArgs e)
{
        if (TextBox1.Text == "admin" && TextBox2.Text == "fenghua17173")
        {
            //“通知”表单验证,该用户名已经通过身份验证
            FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, true);
        }
        else
        {
            Response.Write("<script>alert('账号或密码有误,登录失败!');</script>");
        }
} 

这时你在login.aspx页面里填上账号密码,系统就会根据根你在根目录下web.config中配置的 defaultUrl地址路径跳转过去,也就是Admin/Index.aspx页面。

现在Admin目录下的所有页面,均已通过身份验证,得到了可访问的票据。

 

最后一点:

有了登录,当然别忘了需要注销,这个更简单:

在Admin目录下的任何一个页面中,加一个注销button按钮,并在其方法下写入:

 

//退出系统,注销用户
protected void btn_Logout_Click(object sender, EventArgs e)
{
        //删除用户票据
        FormsAuthentication.SignOut();

 

        //重新定向到登陆页面
        FormsAuthentication.RedirectToLoginPage();

}

 

好了,你已经知道如何配置web.Config中的authentication,来完成基于表单的身份验证了。

 

本文参考:http://www.fengfly.com/plus/view-174785-1.html

 

思考:

网站结构如下
    /index.aspx
    /userLogin.aspx
    /adminLogin.aspx
    /user/*.aspx
    /admin/*.aspx

需求:在未登录的情况下:

      访问/user/路径下的页面的请求转向到/userLogin.aspx;
              访问/admin/路径下的页面的请求被转向到/adminLogin.aspx;

相关文章: