国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

nancy中的身份驗證

2019-11-14 13:59:46
字體:
供稿:網(wǎng)友

在nancy中,身份驗證分為basic ,form ,token,stateless幾種,basic和form這里不說了,其中如果是使用cookie來保存身份的, 需要注意的是:cookie有大小的限制,所以不能用來保存超過4k的信息,而且有一些js插件也要用的cookie,雖然html5好像多了。但是還是要注意一下。因為之前看到文章有的人網(wǎng)站有時候登陸出現(xiàn)問題,就是因為用戶信息太大導(dǎo)致的。

這里說的是token的驗證。

ITokenizer

這個是定義token的接口,Tokenizer是它的一個實現(xiàn),你可以自己實現(xiàn),比如過期,加密等。

ITokenKeyStore

這是服務(wù)器保存登陸用戶身份信息的庫。 PRivate ITokenKeyStore keyStore = new FileSystemTokenKeyStore(); 這行代碼意思是使用文件的方式來保存用戶信息。而InMemoryTokenKeyStore 在內(nèi)存中保存用戶信息。你可以使用自己的方式來保存用戶的登陸信息,只要實現(xiàn)ITokenKeyStore 。源碼中的InMemoryTokenKeyStore 只是測試用的。

過期時間

private Func tokenExpiration = () => TimeSpan.FromDays(1); private Func keyExpiration = () => TimeSpan.FromDays(7); 這是默認的過期時間

身份信息

登陸后,一般會返回一個json格式的信息 其中有token的鍵值

token的傳遞

獲取到token后,如果你把它保存到cookie,然后發(fā)送出去,就和stateless差不多。怎么傳遞呢?nancy是用在信息頭里添加的方式,就是在Header里加入名為Authorization的字段這是測試實例中的代碼 with.Header("Authorization", "Token " + token); 用jquery的Ajax調(diào)用,也可以添加,請自行搜索。看到上面的代碼,需要注意的是要在傳遞token的值前加上字符串"token",我就是直接把token的值傳了過去,怎么也不好使。

TokenAuthentication.cs文件中的 var authorization = request.Headers.Authorization;這句就是用來服務(wù)器讀取authorization信息的。

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

以上都是官網(wǎng)的代碼中的方法和方式。


上一篇:【Remoting-4】

下一篇:第一個C#程序

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桓仁| 海门市| 桃江县| 谢通门县| 剑阁县| 牟定县| 万宁市| 成都市| 库车县| 黑水县| 同江市| 涞源县| 桐城市| 连州市| 塔城市| 科尔| 外汇| 喀喇沁旗| 澎湖县| 夏河县| 泸定县| 宝山区| 宣恩县| 濉溪县| 林西县| 印江| 邹城市| 海阳市| 朝阳区| 永兴县| 苏尼特右旗| 浙江省| 剑阁县| 双流县| 留坝县| 疏勒县| 福安市| 和硕县| 元江| 蒲城县| 九江县|