如果存在ABP、Furion等框架或者你本身就有JWT逻辑,不要使用自带授权
JWT一个项目只能注册一个
可以看集成JWT: https://www.donet5.com/Doc/32/2597
如果有现成的表可以跳过创建用户表教程
注意:如果有现成的直接导入表就行了
点配置列 ,保证有用户和密码就行了
可以点开SQL工具查看一下这个表是不是报错,不报错就成功了
有些区分大小写 表名加关键词 sqlserver是[xx] mysql是`xx` pgsq是 "xx"
不同数据库SQL有些差异
如果你不想用SQL插入也是可以的如下:
接口管理->创建插入接口->选用户表->到文档界面去界面插入也可以
只要有条记录能登录就行了
打开json文件把 表名、用户字段名配置jwt节点下面
Enable设置为true
"Jwt": { //设置true会启用自带的jwt授权 "Enable": true, //jwt密钥 "Secret": "C0mPl3xS3cr3tK3yF0rJWT@DEVELOPMENT", //用户表的表名 (实体管理可以创建表,操作步骤:1.创建实体 2.同步生成表 ) "UserTableName": "user", //用户名字段名称 (是名称不是值) "UserNameFieldName": "username", //密码字段名称 (是名称不是值) "PasswordFieldName": "password", //分钟 "Expires": 1000, // 数据库操作会用到Claim中的值作为条件 "Claim": [ { //Claim Key "Key": "Id", //用户表中的字段 "FieldName": "Id", //C#类型 "Type": "long" } ], //禁用系统接口, 设置为true将禁用所有系统接口(建表、建接口等) "DisableSystemInterface": false }
在不禁用系统接口的情况下,能返回用户信息说明成功了,所有接口都会收token约束
这个claimkey就是你配置文件配置的和表字段对应的key
在sql中也可以拿到claimkey内容的
只能在http接口拿到,定时任务等是没有上下文的
//升级到 1.1.2 var jwtinfos=DependencyResolver.GetClaims();
apiObj.InterfaceOptions.NoAuthorizationFunc = it => { var url = it?.InterfaceInfo?.Url; return url=="xxxx";//true表示不需要授权 };
2016 © donet5.comApache Licence 2.0