ASP.NET 如何授权网站

ASP.NET 如何授权网站,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

Line 70: 它为成员站点提供单独登录和核心配置文件服务。

Line 71: -->

Line 72: <authentication mode="Windows" />

Line 73: <!-- 授权

Line 74: 此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问

我从网上下的,第一次合用.请问如何解决非!!!!

解析:

如果应用程序是基于Windows验证的,那么我该如何授权给某些用户才能使用呢?如果在web.config里面设置的话,该怎么做呢?

下面是介绍方法:

msdn里面有的:

<authorization mode=windows/>

<allow users="*"/><!-- Allow all users -->

<!-- Allow or deny specific users.

allow users="[ma separated list of users]"

roles="[ma separated list of roles]"/>

<deny users="[ma separated list of users]"

roles="[ma separated list of roles]"/>

-->

</authorization>

不允许所有人访问admin文件夹

<location path="admin">

<system.web>

<authorization>

<deny users="?" />

</authorization>

</system.web>

</location>

允许所有人访问Indexx

<location path="Indexx">

<system.web>

<authorization>

<allow users="*" />

</authorization>

</system.web>

</location>

必须验证后才能访问Indexx

<location path="Indexx">

<system.web>

<authorization>

<deny users="?" />

</authorization>

</system.web>

</location>

如果访问收限的页面同时没有验证的话转入Validatex页

<authentication mode="Forms">

<forms name=Form1 loginUrl="Validatex" protection="All" timeout="20" path="/" />

</authentication>

允许访问说有的页面

<authorization>

<allow users="?" />

<!--

<allow users="*" />允许所有用户

<allow users="[逗号分隔的用户列表]"

roles="[逗号分隔的角色列表]"/>

<deny users="[逗号分隔的用户列表]"

roles="[逗号分隔的角色列表]"/>

-->

</authorization>

另:

IIS默认的域为当前应用程序的域,可以在Authentication Methods对话框中更改设置

配置windows认证

编程时用User.IsGuest/IsAnonymous/IsSystem进行身份检查

在web.config里配置windows身份验证

<configuration>

<system.web>

<authentication mode="Windows" />

<!-- 配置windows授权 拒绝所有没有验证的用户 -->

<authorization>

<deny user="?" />

</authorization>

</system.web>

</configuration>

程序用用WindowsPrincipal.IsInRole("administrator")检查是否是系统管理员

也可以用WinodowsIdentity.User.IsAuthenticated检查是否通过验证

WinodowsIdentity.User.Name返回当前用户名

更详细的资料请参考

[本周]如约而至时间是争取来的 这回的[本周]是把若干零碎的时间利用起来成文的 完成对身份验证 访问授权等内容的梳理 可能漏掉的东西会比较多 漏掉的还是希望大家来补充 顺便说一下上次[本周]Ajax 那点事 题目我认为很平实很低调了 没料到还是被批评了 这回考虑一下用了一个白开水一样的题目 没有问题了吧?言归正传……

观其大略

       是依存于IIS的一个服务 说到的安全相关的话题当然要有一个整体上的思路 IIS接收—》IIS验证—》IIS授权 》验证 》授权 》资源返回给用户  IIS从网络上接收到一个HTTP WEB请求可以使用SSL技术来保证服务器的身份 此外SSL也可以提供一个安全通道来保护客户端和服务器端的机密数据的传送 IIS使用基本 摘要式 或者其它的方式验证用户 如果网站中的大部分内容不需要验证就可以设定为匿名验证 验证之后是授权 通过授权IIS来允许或者禁止用户访问某资源 IIS可以使用ACL定义的NTFS权限或者针对IP地址的客户端授权   IIS把Windows存取令牌传送到 如果IIS使用的是匿名验证则为匿名Internet使用者的存取令牌(IUSER_MYMACHINE)   验证访问者(有三种方式) 授权所需要的资源或者 *** 作(有两种授权方法)   中程序的代码使用特别的身份来存取本机或者远程资源

       身份验证 身份验证就是一个解决谁有权力进入系统的问题 通常的做法就是跟系统维护的用户名单进行核对 这样转化为一个实际的技术问题 如果有效的判断一个用户是不是系统的有效用户 这个过程就是—Authentication(身份验证)专业说法 接收用户凭据 并根据指定的颁发机构来验证凭据的过程成为身份验证

       提供三种身份验证方式 Windows验证 Forms验证 Passport验证身份验证的使用是通过配置nfig文件的<Authentication >配置节来实现的

       授权 授权就是确认用户拥有足够的权限来访问请求的资源

       提供两类授权服务 文件授权服务 URL授权服务

说点细节

       <Authentication >配置节mode可用的参数 None Windows Forms Passport

       Windows:IIS 根据程序的设置执行身份的验证(基本 简要 或者集成Windows)注意使用这种验证方式IIS中必须要禁用匿名访问

       Windows 验证适用于受控环境中 比如企业的Intranet

       Foms 这种验证使用Cookie保存用户凭证 并将未将验证的用户重定向到登录页 通常这是的IIS配置为匿名访问

       Forms 适合部署于互联网的网站应用

       Passport 验证是通过微软的集中身份验证服务执行的 它为成员站点提供单点登录和配置文件服务

       Passport 适用于跨站点应用 一旦用户注销所有的护照信息就会清除 可以在公共场所使用它

       ACL 面向的是文件 IIS提供通过验证的用户 通过比较ACL调用标记完成授权

       URL 授权 检查的根据是URL本身而不是URL对应的文件 URL授权可以是应用程序像基于窗体的身份验证或者Passport的身份集成验证 因为这些验证中的用户和计算机或者域中的账户并不对应 还控制对虚拟资源的访问

   URL 授权的配置 授权指令 allow deny 对应 *** 作对象是roles users 还可以使用Verb属性区别不同的HTTP行为(POST /GET)

   通常情况下用户访问一个网站都是使用匿名访问 匿名访问的用户都会转化为 *** 作系统上的一个帐号来访问服务器<authentication mode= windows ><identity impersonate= true >

   Windows验证用户通过了验证之后 会触发Global asax文件中的WindowsAuthentication_OnAuthenticate事件 可以在这里添加代码把用户信息附加到请求上

   Passport验证的问题是有多少网站愿意把自己的用户数据放在微软的数据库中?

   使用基于角色的安全 把用户映射到一个角色组里面 这个角色组对应一定的权限 这样就实现了对一个群体的权限管理 所以角色应该是对一组具有相同权限用户的抽象

 

上面所说的都是可以应用于实践的 问题集中在nfig的配置 和一些初始化 *** 作 大家和容易找到相关内容 我还是提供一个纲要 呵呵 夜深了 睡了 晚安!

 

顺便问一句 爱要怎么说出口?

坚强

lishixinzhi/Article/program/net/201311/11958


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7768174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存