博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ServiceStack JWT 准备
阅读量:5040 次
发布时间:2019-06-12

本文共 1966 字,大约阅读时间需要 6 分钟。

ServiceStack JWT设置

ServcieStack 自带的验证授权模块使用 sql server存储,所以我们第一步需要配置数据库的一些选项

container.Register
( new OrmLiteConnectionFactory(AppSettings.GetString("DBConn"), SqlServerDialect.Provider));container.Register
(c => new OrmLiteAuthRepository(c.Resolve
()) { UseDistinctRoleTables = true });OrmLiteConfig.DialectProvider.GetStringConverter().UseUnicode = true;var authRepo = (OrmLiteAuthRepository)container.Resolve
();

这个数据库的角色表默认是不创建的,这里设置为单独的表

设置完毕之后,如果数据库没有配置,则可以代码中直接创建相应的表

authRepo.InitSchema();

 创建之后,数据库会自动新建3个表

表创建之后,需要插入一些数据进行测试,也可以通过代码实现:

authRepo.CreateUserAuth(new UserAuth{    DisplayName = "Credentials",    FirstName = "First",    LastName = "Last",    FullName = "First Last",    Email = "demis.bellot@gmail.com",    UserName = "julyluoTest1"}, "test1");authRepo.CreateUserAuth(new UserAuth{    DisplayName = "Credentials",    FirstName = "First",    LastName = "Last",    FullName = "First Last",    UserName = "julyLuoTest2"}, "test2");

 

 最后设置 JWT的验证

Plugins.Add(new AuthFeature(() => new AuthUserSession(),    new IAuthProvider[] {                          new CredentialsAuthProvider(),        //Use JWT so sessions survive across AppDomain restarts, redeployments, etc        new JwtAuthProvider(AppSettings)        {            RequireSecureConnection = false        },    }));

客户端调用

1 获取bearToken

var authclient = new JsonServiceClient("http://localhost:62375");var authResponse = authclient.Post(new Authenticate{    provider = "credentials",    UserName = "julyluoTest1",    Password = "test1",    RememberMe = true,});  var bearToken = authResponse.BearerToken;

 

2 通过bearToken获取需要验证的服务

var client = new JsonServiceClient("http://localhost:62375") { BearerToken = bearToken };var ssResponse = client.Get(new SSAuthTest() { Name = "julyLUoTest" });

 

转载于:https://www.cnblogs.com/julyluo/p/11171210.html

你可能感兴趣的文章
HDU 1011 Starship Troopers (树形DP)
查看>>
手把手教你写DI_1_DI框架有什么?
查看>>
.net常见的一些面试题
查看>>
OGRE 源码编译方法
查看>>
上周热点回顾(10.20-10.26)
查看>>
C#正则表达式引发的CPU跑高问题以及解决方法
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了...
查看>>
APScheduler调度器
查看>>
设计模式——原型模式
查看>>
【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能
查看>>
如何一个pdf文件拆分为若干个pdf文件
查看>>
web.xml中listener、 filter、servlet 加载顺序及其详解
查看>>
前端chrome浏览器调试总结
查看>>
获取手机验证码修改
查看>>
数据库连接
查看>>
python中数据的变量和字符串的常用使用方法
查看>>
等价类划分进阶篇
查看>>
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>