程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 關於nancy中的身份驗證

關於nancy中的身份驗證

編輯:C#入門知識

關於nancy中的身份驗證。本站提示廣大學習愛好者:(關於nancy中的身份驗證)文章只能為提供參考,不一定能成為您想要的結果。以下是關於nancy中的身份驗證正文


在nancy中,身份驗證分為basic ,form ,token,stateless幾種,basic和form這裡不說了,個中假如是應用cookie來保留身份的, 須要留意的是:cookie有年夜小的限制,所以不克不及用來保留跨越4k的信息,並且有一些js插件也要用的cookie,固然html5似乎多了。然則照樣要留意一下。由於之前看到文章有的人網站有時刻上岸湧現成績,就是由於用戶信息太年夜招致的。

這裡說的是token的驗證。

ITokenizer

這個是界說token的接口,Tokenizer是它的一個完成,你可以本身完成,好比過時,加密等。

ITokenKeyStore

這是辦事器保留上岸用戶身份信息的庫。 private ITokenKeyStore keyStore = new FileSystemTokenKeyStore(); 這行代碼意思是應用文件的方法來保留用戶信息。而InMemoryTokenKeyStore 在內存中保留用戶信息。你可使用本身的方法來保留用戶的上岸信息,只需完成ITokenKeyStore 。

過時時光

private Func tokenExpiration = () => TimeSpan.FromDays(1); private Func keyExpiration = () => TimeSpan.FromDays(7);

這是默許的過時時光

身份信息

上岸後,普通會前往一個json格局的信息 個中有token的鍵值

token的傳遞

獲得到token後,假如你把它保留到cookie,然後發送出去,就和stateless差不多。怎樣傳遞呢?nancy是用在信息頭裡添加的方法,就是在Header裡參加名為Authorization的字段這是測試實例中的代碼 with.Header("Authorization", "Token " + token); 用jquery的ajax挪用,也能夠添加,請自行搜刮。看到下面的代碼,須要留意的是要在傳遞token的值前加上字符串"token",我就是直接把token的值傳了曩昔,怎樣也欠好使。

TokenAuthentication.cs文件中的 var authorization = request.Headers.Authorization;這句就是用來辦事器讀取authorization信息的。

   var apiKey = (string) nancyContext.Request.Query.ApiKey.Value;而stateless是用Request.Query來傳遞的,apikey是依據guid生成的,貌似沒有token龐雜

以上都是官網的代碼中的辦法和方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved