Skip to main content
Glama
01.UI鉴权登录.md3.69 kB
--- title: "UI鉴权登录" date: "2022-01-29T20:53:11.000Z" permalink: "/pages/security/login/" --- # 配置用户名密码 默认情况下是不配置用户名密码的。 如果需要可以通过以下配置开启用户名密码验证登录。 magic-api: security: username: admin # 登录用的用户名 password: 123456 # 登录用的密码 # 多用户登录 如果需要配置多用户登录,则需要使用自定义鉴权的方式。 /** * 自定义用户名密码登录 */ @Component //注入到Spring容器中 public class CustomAuthorizationInterceptor implements AuthorizationInterceptor { /** * 配置是否需要登录 */ @Override public boolean requireLogin() { return true; } /** * 根据Token获取User */ @Override public MagicUser getUserByToken(String token) throws MagicLoginException { if (判断token是否有效) { return magicUser; // 从token中获取MagicUser对象 } throw new MagicLoginException("token无效"); } @Override public MagicUser login(String username, String password) throws MagicLoginException { // 根据实际情况进行修改,如查询数据库。。 if("admin".equals(username) && "admin".equals(password)){ // 登录成功后 构造MagicUser对象。 return new MagicUser("1","admin","tokenvalue......"); } throw new MagicLoginException("用户名或密码不正确"); } } 当以上配置完成后,可实现多用户登录,此时页面中右下角显示的用户名信息可能不正确,此时需要额外配置 # src/main/resources/application.yml magic-api: editor-config: classpath:./magic-editor-config.js #编辑器配置 # src/main/resources/magic-editor-config.js var MAGIC_EDITOR_CONFIG = { getMagicTokenValue: function(){ var token = ..........; // 此处自行获取token return token; } } # 与自身应用集成 # 单独访问 对于需要单独访问的,需要将应用的权限校验对路径/magic/web/**放行,交给magic-api处理,其它无需配置 对于magic-api UI中对生成出的接口执行测试时,可能会被自身应用权限校验不通过。此时要么模拟测试时将Header携带上,要么对生成的接口进行放行,如果还需要校验,请看一下几种方式。 # Jar集成 默认情况下就是Jar集成的方式,此时需要配置编辑器的请求设置 magic-api: editor-config: classpath:./magic-editor-config.js #编辑器配置 src/main/resources/magic-editor-config.js文件内容如下: var MAGIC_EDITOR_CONFIG = { request: { beforeSend: function(config){ // 如果是基于Cookie验证的,此处可以不配。 config.headers.token = ...; // 此处自行获取Token return config; } }, getMagicTokenValue: function(){ var token = ..........; // 此处自行获取token return token; } } # iframe方式 <iframe src="http://xxxx.xx/magic/web/index.html"></iframe> <script> // 当跨域时,iframe内是访问不到此处配置的。请改为后台配置, // 对于需要在header动态添加值时,可通过 http://xxxx.xx/magic/web/index.html?headerName=token&headerValue=value 的方式进行添加 window.MAGIC_EDITOR_CONFIG = { request: { beforeSend: function(config){ // 如果是基于Cookie验证的,此处可以不配。 config.headers.token = ...; // 此处自行获取Token return config; } }, getMagicTokenValue: function(){ var token = ..........; // 此处自行获取token return token; } } </script>

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dwsy/magic-api-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server