關(guān)于nancy中的身份驗(yàn)證
在nancy中,身份驗(yàn)證分為basic ,form ,token,stateless幾種,basic和form這里不說(shuō)了,其中如果是使用cookie來(lái)保存身份的, 需要注意的是:cookie有大小的限制,所以不能用來(lái)保存超過(guò)4k的信息,而且有一些js插件也要用的cookie,雖然html5好像多了。但是還是要注意一下。因?yàn)橹翱吹轿恼掠械娜司W(wǎng)站有時(shí)候登陸出現(xiàn)問(wèn)題,就是因?yàn)橛脩粜畔⑻髮?dǎo)致的。
這里說(shuō)的是token的驗(yàn)證。
ITokenizer
這個(gè)是定義token的接口,Tokenizer是它的一個(gè)實(shí)現(xiàn),你可以自己實(shí)現(xiàn),比如過(guò)期,加密等。
ITokenKeyStore
這是服務(wù)器保存登陸用戶身份信息的庫(kù)。 private ITokenKeyStore keyStore = new FileSystemTokenKeyStore(); 這行代碼意思是使用文件的方式來(lái)保存用戶信息。而InMemoryTokenKeyStore 在內(nèi)存中保存用戶信息。你可以使用自己的方式來(lái)保存用戶的登陸信息,只要實(shí)現(xiàn)ITokenKeyStore 。
過(guò)期時(shí)間
private Func tokenExpiration = () => TimeSpan.FromDays(1); private Func keyExpiration = () => TimeSpan.FromDays(7);
這是默認(rèn)的過(guò)期時(shí)間
身份信息
登陸后,一般會(huì)返回一個(gè)json格式的信息 其中有token的鍵值
token的傳遞
獲取到token后,如果你把它保存到cookie,然后發(fā)送出去,就和stateless差不多。怎么傳遞呢?nancy是用在信息頭里添加的方式,就是在Header里加入名為Authorization的字段這是測(cè)試實(shí)例中的代碼 with.Header("Authorization", "Token " + token); 用jquery的ajax調(diào)用,也可以添加,請(qǐng)自行搜索??吹缴厦娴拇a,需要注意的是要在傳遞token的值前加上字符串"token",我就是直接把token的值傳了過(guò)去,怎么也不好使。
TokenAuthentication.cs文件中的 var authorization = request.Headers.Authorization;這句就是用來(lái)服務(wù)器讀取authorization信息的。
var apiKey = (string) nancyContext.Request.Query.ApiKey.Value;而stateless是用Request.Query來(lái)傳遞的,apikey是根據(jù)guid生成的,貌似沒有token復(fù)雜
以上都是官網(wǎng)的代碼中的方法和方式。
相關(guān)文章
C# IQueryable<T>揭開表達(dá)式樹的神秘面紗
這篇文章主要介紹了C# IQueryable<T>表達(dá)式樹,對(duì)IQueryable<T>感興趣的同學(xué),必須要仔細(xì)看一下2021-04-04
WPF+DiffPlex實(shí)現(xiàn)文本比對(duì)工具
現(xiàn)行的文本編輯器大多都具備文本查詢的能力,但是并不能直觀的告訴用戶兩段文字的細(xì)微差異,所以對(duì)比工具在某種情況下,就起到了很便捷的效率。本文將利用DiffPlex實(shí)現(xiàn)簡(jiǎn)易的文本比對(duì)工具,需要的可以參考一下2022-11-11
C#實(shí)現(xiàn)自定義單選和復(fù)選按鈕樣式
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)定義單選和復(fù)選按鈕樣式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12
C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面
這篇文章主要為大家介紹了使用C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Unity編輯器選擇器工具類Selection常用函數(shù)示例詳解
這篇文章主要為大家介紹了Unity編輯器選擇器工具類Selection常用函數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

