當前位置:首頁 » 網頁前端 » web身份認證教程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web身份認證教程

發布時間: 2022-06-23 13:17:17

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。 使用域帳戶的用戶看不到網路身份驗證。使用本地計算機帳戶的用戶在每

次訪問網路資源 時都必須提供憑據(例如用戶名和密碼)。 通過使用域帳戶,用戶

就具有了憑據,該憑據被自動用作單方簽名。