A. 路由器怎么设置web认证
WEB认证是高端路由,广告路由器所集成的功能,一般家用路由不带此功能。在路由器的后台管理页面里边有上网方式设置,在这里我们可以给连接我们网络的人设置拨号,或者输入手机号验证。
B. 怎么设置web 认证
- Web认证配置
21.1理解Web认证
21.1.1Web认证概述
Web认证是一种基于端口对用户访问网络的权限进行控制的认证方法,这种认证方式
不需要用户安装专用的客户端认证软件,使用普通的浏览器软件就可以进行接入
认证。
未认证用户上网时,接入设备强制用户登录到特定站点,用户可以免费访问其中的服
务。当用户需要使用互联网中的其它信息时,必须在Web认证服务器进行认证,
只有认证通过后才可以使用互联网资源。
如果用户试图通过HTTP访问其他外网,将被强制访问Web认证网站,从而开始
Web认证过程,这种方式称作强制认证。
Web认证可以为用户提供方便的管理功能,门户网站可以开展广告、社区服务、个性
化的业务等。
21.1.2Web认证基本概念
Web认证的基本概念主要有HTTP拦截、HTTP重定向。
21.1.2.1HTTP拦截
HTTP拦截指接入设备将原本需要转发的HTTP报文拦截下来,不进行转发。这些
HTTP报文是连接在接入设备的端口下的用户所发出的,但目的并不是接入设备本
身。例如,某用户通过IE浏览器上网,接入设备本应该将这些HTTP请求报文转
发到网关的,但如果启动HTTP拦截,这些报文可以不被转发。
HTTP拦截之后,接入设备需要将用户的HTTP连接请求转向自己,于是接入设备和
用户之间将建立起连接会话。接入设备将利用HTTP重定向功能,将重定向页面
推送给用户,用户的浏览器上将弹出一个页面,这个页面可以是认证页面,也可
以是下载软件的链接等等。
在Web认证功能中,连接在哪些物理端口下、哪些用户所发出的到哪个目的端口的
HTTP报文需要进行拦截,哪些不需要,都是可以设置的。一般地,未经过认证的
用户发出的HTTP请求报文会被拦截,已通过认证的用户将不被拦截。HTTP拦
截是Web认证功能的基础,一旦发生了拦截,就会自动触发Web认证的过程。
C. 电脑怎么web认证
打开IE--工具--Internet选项--程序--重置Web设置.这时有一个小窗口弹出,有一个选项是(取消个人设置)打上勾—重置,这个是还原到IE浏览器的默认设置的,重启IE就是MSN为主页了。
IE7 IE8修复
打开IE--工具--Internet选项--高级--重置--这时有一个小窗口弹出,有一个选项是(取消个人设置)打上勾--重置.这样就回到原始状态,默认状态下使用就可以了。
重置后打开管理加载项启用杀毒软件。
如果还不行,可升级杀毒软件全盘查杀木马等病毒再修复。
D. 如何设置路由器Web认证
其实最重要的是你的DNS,你在设置成固定IP后,DNS必须是你的ISP提供给你的才可以解析到网页认证;所以你必须在正常链接,还没有认证网页的时候,查看网络的详细信息,比如网关、DNS等等。
E. 如何以windows身份验证登录web系统
Windows 2000 身份验证包括两个部分:交互式登录过程和网络身份验证过程。用户身份验
证的成功与否同时取决于这两个过程。
交互式登录过程:
交互式登录过程确认用户对于域帐户或本地计算机的身份。根据用户帐户类型的不同,交
互式登录过程也不同:
若持有域帐户,用户可以通过存储在 Active Directory 中的单方签名凭据使用密码或智
能卡登录到网络。通过使用域帐户登录,
被授权的用户可以访问该域和任何信任域中的资源。如果使用密码登录到域帐户,Window
s 2000 将使用 Kerberos V5 进行身份验
证。如果使用智能卡,Windows 2000 将使用 Kerberos V5 身份验证和证书。
若持有本地计算机帐户,用户可以通过存储在安全帐户管理器 (SAM)(也是本地安全帐户
数据库)中的凭据登录到本地计算机。任
何工作站或成员服务器均可以存储本地用户帐户,但这些帐户只能用于访问该本地计算机
。
网络身份验证过程:
网络身份验证确认用户对于试图访问的任意网络服务的身份。为了提供这种类型的身份验
证,Windows 2000 安全系统支持多种身
份验证机制,包括 Kerberos V5、安全套接字层/传输层安全 (SSL/TLS),以及为了与 Wi
ndows NT 4.0 兼容而支持的 LAN Manager。
使用域帐户的用户看不到网络身份验证。使用本地计算机帐户的用户在每次访问网络资源
时都必须提供凭据(例如用户名和密码)。
通过使用域帐户,用户就具有了凭据,该凭据被自动用作单方签名。
F. web站点的身份验证方法有哪几种
IIS 创建 IUSR_计算机名称 帐户(其中 计算机名称 是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限。你可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
基本身份验证
使用基本身份验证可限制对 NTFS 格式 Web 服务器上的文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式在
网络
间进行发送。
Windows 集成身份验证
Windows 集成身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用。在集成的 Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,就会提示该用户输入用户名和密码。如果你使用集成的 Windows 身份验证,则用户的密码将不传送到服务器。如果该用户作为域用户登录到本地计算机,则他在访问此域中的网络计算机时不必再次进行身份验证
G. 如何实现RESTful Web API的身份验证
最近想拿一个小项目来试水RESTful Web
API,项目只有几个调用,比较简单,但同样需要身份验证,如果是传统的网站的话,那不用说,肯定是用户名+密码在登录页获得登录Token,并把登录
Token记在Cookie和Session中作为身份标识的这种方式,但现在不同了,关键是RESTful,这意味着我们设计出来的这些API是无状态
的(Stateless),下一次的调用请求和这一次的调用请求应该是完全无关的,也就是说,正宗的RESTful Web
API应该是每次调用都应该包含了完整的信息,没错,包括身份信息!
那如何确保安全?传输时给密码做MD5加密?得了吧!这样做只能让你自己感觉“安全”点,其实没什么任何用处,利用现在的技术(有种叫什么Rainbow Table啥的来着?本人外行,不是很懂)很快就能算出明文密码了,而且如何防止挟持和重发攻击?
也许你想到了,SSL,如果你打算采用SSL,请忘记一切自行设计的加密方案,因为SSL已经帮你做好了一切,包括防止监听,防止挟持,防止重发……一切都帮你考虑好了,你大胆地把明文密码写在你的包中就OK了,我向你保证没问题。
但SSL的缺点是服务器端配置相对有点复杂,更关键的就是客户端对此支持可能不好,那你考虑一种自己的加密方法,有木有?我这里提供一种方法,思路来自
于:http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-
authentication/,我只是把上面的内容中整理了一下变成了我的方法。(传说中的剽窃?呵呵)方法描述如下:
假设有一个用户,用户名是guogangj,密码是123456(呃……这也能叫密码?)
他要GET http://test.com/api/orders/
于是把 http://test.com/api/orders/这个URL和一个新生成的GUID拼在一起,再用123456这个密码执行对称加密,生成的密文为XXXXOOOOXXXXOOOO(假设而已)
数据包中带上用户名guogangj和XXXXOOOOXXXXOOOO这个密文,发送给服务器
服务器收到包后,根据guogangj这个用户名到数据库中查找到123456这个密码
服务器使用123456这个密码来解密XXXXOOOOXXXXOOOO这个密文,得到了明文,即http://test.com/api/orders/这个URL和前面由客户端生成的那个GUID
服务器到一个全局的集合中查找这个GUID,看看是否已经存在,如果存在,则验证不通过,如果不存在,就将其放入这个集合中。这是为了避免重发攻击。这个全局的集合会越来越大,所以还要定期清理。
服务器再比对解密出来的URL和用户真实请求的URL是否一致,如果一致,那么认为这是合法用户,验证通过!
这是大致过程,如果数据库里找不到该用户,或者解密错误,都被认为验证不通过。以下是一些改进:
数据库中的密码最好做一下摘要(MD5之类的),客户端对应地也要做一下。
在生成密文的时候可以考虑加入另外一些不希望被明文传输的敏感内容,甚至可以加入IP地址,并在服务器端验证。
并
非每次都要真正去数据库里拿一次用户信息,也许你有更好的办法,比如一个简单的缓存(不过需要处理缓存更新的问题),或者当你的系统大到一定程度的时候,
你考虑使用统一的服务来获取用户信息,这就不是缓存那么简单了,里面的文章很多,我相信现在大规模的门户网站都有自己的一套复杂的机制,所以表明上看
RESTful Web API很“低效”,但这种RESTFul的思路和模式却在实际中有很大的可塑性和威力。
这种方法应该足够安全了!
密码根本没有在网络上传输,密文采用的是非验证的对称加密,没有密钥就无法逆转,URL验证避免了传统的身份挟持攻击(即拦截一个用户的包并冒充此用户来访问其它的资源,即便无法破解用户密码), 再用GUID来避免了重发攻击,唯一需要担心的是用户泄露了自己的密码。
H. 如何使用 Web API 来对 MVC 应用程序进行身份验证
首先,让我们先更新 API 项目
我们将先对 API 项目进行必要的修改,修改完成之后再切换到 Web 项目对客户端进行更新。
第1步:我们需要一个数据库
在能做任何操作之前我们需要先创建一个数据库。本例中将使用 SQL Server Express。如果你没有安装,可以从这里下载 SQL Server Express。安装完成之后,创建一个名为 CallingWebApiFromMvc 的数据库。这就是第一步要做的。
Api 项目还需要一个数据库连接字符串,否则我们寸步难行。把下面这段代码插入到 Api 项目的Web.config 文件中:
<connectionStrings>
<add name="ApiFromMvcConnection" connectionString="Data Source=(local);Initial Catalog=CallingWebApiFromMvc;Integrated Security=True" providerName="System.Data.SqlClient" /></connectionStrings>
认证(Identity)框架会自动创建我们管理用户所需要的成员关系表,现在不需要担心去提前创建它们。
第2步:添加相关的Nuget包
接下来我们添加用于OWIN和Windows认证的Nuget包。打开包管理控制台,切换Api项目为缺省项目,输入以下命令:
Install-Package Microsoft.AspNet.WebApi.Owin
Install-Package Microsoft.Owin.Host.SystemWeb
Install-Package Microsoft.AspNet.Identity.EntityFramework
Install-Package Microsoft.AspNet.Identity.Owin
使用这些包可以在我们的应用中启动一个OWIN服务器,然后通过EntityFramework把我们的用户保存到SQL Server。
第3步:添加管理用户的Identity类
我们使用基于Windows认证机制之上的Entity框架来管理数据库相关的业务。首先我们需要添加一些用于处理的类。在Api项目里添加一个Identity目录作为我们要添加类的命名空间。然后添加如下的类:
public class ApplicationUser : IdentityUser
{
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{ public ApplicationDbContext() : base("ApiFromMvcConnection") {}
public static ApplicationDbContext Create()
{ return new ApplicationDbContext();
}
}
注意我们传给基类构造函数的参数ApiFromMvcConnection要和Web.config中的连接字符串中的name相匹配。
public class ApplicationUserManager : UserManager<ApplicationUser>
{ public ApplicationUserManager(IUserStore<ApplicationUser> store) : base(store)
{
} public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
{ var manager = new ApplicationUserManager(new UserStore<ApplicationUser> (context.Get<ApplicationDbContext> ()));
// Configure validation logic for usernames
manager.UserValidator = new UserValidator<ApplicationUser> (manager)
{
= false,
RequireUniqueEmail = true
};
// Configure validation logic for passwords
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 6,
RequireNonLetterOrDigit = true,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = true,
}; var dataProtectionProvider = options.DataProtectionProvider;
if (dataProtectionProvider != null)
{
manager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser> (dataProtectionProvider.Create("ASP.NET Identity"));
} return manager;
}
}
第4步:添加OWIN启动类
为了让我们的应用程序作为OWIN服务器上运行,我们需要在应用程序启动时初始化。我们可以通过一个启动类做到这一点。我们将装点这个类的
OwinStartup属性,因此在应用程序启动时触发。这也意味着,我们可以摆脱的Global.asax和移动它们的
Application_Start代码转换成我们新的启动类。
using Microsoft.Owin;
[assembly: OwinStartup(typeof(Levelnis.Learning.CallingWebApiFromMvc.Api.Startup))]
namespace Levelnis.Learning.CallingWebApiFromMvc.Api
{
using System;
using System.Web.Http;
using Identity;
using Microsoft.Owin.Security.OAuth;
using Owin;
using Providers;
public class Startup
{ public void Configuration(IAppBuilder app)
{
GlobalConfiguration.Configure(WebApiConfig.Register);
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager> (ApplicationUserManager.Create); var oAuthOptions = new
{
TokenEndpointPath = new PathString("/api/token"),
Provider = new ApplicationOAuthProvider(),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
AllowInsecureHttp = true
};
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(oAuthOptions);
}
}
}
在应用程序启动时,我们正在建立自己的服务器。在这里,我们配置令牌端点并设置自己的自定义提供商,我们用我们的用户进行身份验证。在我们的例子中,我们使用了ApplicationOAuthProvider类。让我们来看看现在:
第5步:添加OAuth的提供商
public class ApplicationOAuthProvider :
{ public override Task ValidateClientAuthentication( context)
{
context.Validated();
return Task.FromResult<object> (null);
}
public override async Task GrantResourceOwnerCredentials( context)
{
var userManager = context.OwinContext.GetUserManager<ApplicationUserManager> ();
var user = await userManager.FindAsync(context.UserName, context.Password);
if (user == null)
{
context.SetError("invalid_grant", "The user name or password is incorrect."); return;
}
var oAuthIdentity = await user.GenerateUserIdentityAsync(userManager, OAuthDefaults.AuthenticationType); var cookiesIdentity = await user.GenerateUserIdentityAsync(userManager, CookieAuthenticationDefaults.AuthenticationType); var properties = CreateProperties(user.UserName); var ticket = new AuthenticationTicket(oAuthIdentity, properties);
context.Validated(ticket);
context.Request.Context.Authentication.SignIn(cookiesIdentity);
}
private static AuthenticationProperties CreateProperties(string userName)
{
var data = new Dictionary<string, string>
{
{
"userName", userName
}
};
return new AuthenticationProperties(data);
}
}
我们感兴趣的是这里2种方法。第一,ValidateClientAuthentication,只是验证客户端。我们有一个客户端,所以返回成
功。这是一个异步方法签名但没有异步调用发生。正因为如此,我们可以离开了异步修改,但我们必须返回一个任务自己。我们增加了一个名为
GenerateUserIdentityAsync的ApplicationUser,它看起来像这样的方法:
public class ApplicationUser : IdentityUser
{ public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager, string authenticationType)
{
var userIdentity = await manager.CreateIdentityAsync(this, authenticationType);
return userIdentity;
}
}
第6步:注册一个新用户 - API端
所以,我们有到位的所有Identity类管理用户。让我们来看看RegisterController,将新用户保存到我们的数据库。它接受一个RegisterApi模式,这是简单的:
public class RegisterApiModel
{
[Required]
[EmailAddress] public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
public string Password {
get; set;
}
[Required]
[Display(Name = "Confirm Password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
控制器本身,如果注册成功只是返回一个200 OK响应。如果验证失败,则返回401错误请求的响应。
public class RegisterController : ApiController
{ private ApplicationUserManager UserManager
{ get
{ return Request.GetOwinContext().GetUserManager<ApplicationUserManager> ();
}
} public IHttpActionResult Post(RegisterApiModel model)
{ if (!ModelState.IsValid)
{ return BadRequest(ModelState);
} var user = new ApplicationUser
{
Email = model.Email,
UserName = model.Email,
EmailConfirmed = true
};
var result = UserManager.Create(user, model.Password);
return result.Succeeded ? Ok() : GetErrorResult(result);
}
private IHttpActionResult GetErrorResult(IdentityResult result)
{
if (result == null)
{
return InternalServerError();
}
if (result.Errors != null)
{
foreach (var error in result.Errors)
{
ModelState.AddModelError("", error);
}
}
if (ModelState.IsValid)
{
// No ModelState errors are available to send, so just return an empty BadRequest.
return BadRequest();
}
return BadRequest(ModelState);
}
}
I. 以下哪些接口能够实现对web访问者的身份认证
是以下两种:
Protal认证,使用账号密码认证或者微信微博认证。认证完成后即可获取到访问资源的权限(网络资源或者本身文件资源)
WEB radius认证,主要使用账号密码认证,对于长期有固定使用人群适用。优势是对用户的控制性较强,可以对用户状态实时监测。
使用方法:
1、首先打开电脑桌面,单击此电脑右键选择属性按钮。
J. windows身份验证的一般步骤是什么是WEB中的考题哦
Windows 2000 身份验证包括两个部分:交互式登录过程和网络身份验证过程。用户身份验
证的成功与否同时取决于这两个过程。 交互式登录过程: 交互式登录过程确认用户对
于域帐户或本地计算机的身份。根据用户帐户类型的不同,交 互式登录过程也不同:
若持有域帐户,用户可以通过存储在 Active Directory 中的单方签名凭据使用密码
或智 能卡登录到网络。通过使用域帐户登录, 被授权的用户可以访问该域和任何信
任域中的资源。如果使用密码登录到域帐户,Window s 2000 将使用 Kerberos V5 进
行身份验 证。如果使用智能卡,Windows 2000 将使用 Kerberos V5 身份验证和证书
。 若持有本地计算机帐户,用户可以通过存储在安全帐户管理器 (SAM)(也是本地安
全帐户 数据库)中的凭据登录到本地计算机。任 何工作站或成员服务器均可以存储
本地用户帐户,但这些帐户只能用于访问该本地计算机 。 网络身份验证过程: 网络
身份验证确认用户对于试图访问的任意网络服务的身份。为了提供这种类型的身份验
证,Windows 2000 安全系统支持多种身 份验证机制,包括 Kerberos V5、安全套接
字层/传输层安全 (SSL/TLS),以及为了与 Wi ndows NT 4.0 兼容而支持的 LAN
Manager。 使用域帐户的用户看不到网络身份验证。使用本地计算机帐户的用户在每
次访问网络资源 时都必须提供凭据(例如用户名和密码)。 通过使用域帐户,用户
就具有了凭据,该凭据被自动用作单方签名。