当前位置: 首页 > news >正文

网站增加外链方法做网页制作怎么样

网站增加外链方法,做网页制作怎么样,wordpress 点击导航链接老是跳转到当前页面,网站推广与优化平台此文之前#xff0c;项目已经添加了数据库DAO服务接口、资源访问目录、以及数据访问的html页面#xff0c;同时项目集成了spring security#xff0c;并替换了登录授权页面#xff1b;但是#xff0c;系统用户存储代码之中#xff0c;而且只注册了admin和user两个用户。在…        此文之前项目已经添加了数据库DAO服务接口、资源访问目录、以及数据访问的html页面同时项目集成了spring security并替换了登录授权页面但是系统用户存储代码之中而且只注册了admin和user两个用户。在实际上线项目中用户的数量和全限时需要不定时更改的登录的账户也需要进行角色和失效的确认。 为了更好的维护用户数据更好的保护系统资源我们引入Oauth2.0。OAuth是一个开放标准也就是一个授权框架使应用程序能够访问项目外的资源允许用户在第三方应用访问存储在其他服务器上的私密资源而在整个过程不需要提供用户名和密码给到第三方应用可以通过提供一个令牌(token)实现该功能采用令牌的方式可以让用户灵活的对第三方应用授权或收回权限。 1、修改醒目pom.xml文件引入Oauth2.0 jar包添加如下依赖 !--oauth2-- dependency groupIdorg.springframework.security.oauth/groupId artifactIdspring-security-oauth2/artifactId version2.2.1.Release/version /dependency      !--页面要用到的框架-- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-thymeleaf/artifactId /dependency 添加完成之后右键点击项目名称弹出菜单中选择“maven”→“update project”更新系统jar包。 2、开启EnableAuthorizationServer注解 开启EnableAuthorizationServer注解该注解会自动添加OAuth2的多个endpoint。 /oauth/authorize验证接口 AuthorizationEndpoint/oauth/token获取token/oauth/confirm_access用户授权/oauth/error认证失败/oauth/check_token资源服务器用来校验token/oauth/token_keyjwt模式下获取公钥位于TokenKeyEndpoint 通过 JwtAccessTokenConverter 访问key 继承AuthorizationServerConfigurerAdapter配置OAuth2认证服务器需要配置授权和Token相关的三个配置。 AuthorizationServerSecurityConfigurer声明安全约束允许那些请求可以访问和禁止访问。ClientDetailsServiceConfigurer配置独立的client客户端信息包括授权范围、授权方式、客户端权限等。授权方式包括password、implicit、client_redentials、authorization_code四种方式其中密码授权方式必须结合 AuthenticationManager 进行配置。AuthorizationServerEndpointsConfigurer配置授权服务器的Token存储方式、Token配置、授权模式 Token存储配置默认使用DefaultTokenServices管理生命周期。Token存储通过配置 TokenStore默认使用内存存储包括一下存储方式。 InMemoryTokenStore 默认方式保存在本地内存JdbcTokenStore 存储数据库RedisTokenStore 存储Redis这应该是微服务下比较常用方式JwtTokenStore 分布式跨域JWT存储方式 此项目采用JdbcTokenStore方式进行存储配置文件如下 package com.SJL.Spring.Oauth.Config; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer; import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer; import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer; import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer; import org.springframework.security.oauth2.provider.ClientDetailsService; import org.springframework.security.oauth2.provider.client.JdbcClientDetailsService; import org.springframework.security.oauth2.provider.token.TokenStore; import org.springframework.security.oauth2.provider.token.store.JdbcTokenStore; Configuration EnableAuthorizationServer public class OAuthAuthorizationServerConfig extends AuthorizationServerConfigurerAdapter { Autowired private DataSource dataSource; Autowired    private BCryptPasswordEncoder passwordEncoder; Autowired private AuthenticationManager authenticationManager; Autowired private OAuthWebSecurityConfig oauthWebSecurityConfig; Override public void configure(final AuthorizationServerSecurityConfigurer oauthServer) throws Exception { oauthServer //客户端token调用许可 .tokenKeyAccess(permitAll()) //客户端校验token访问许可 .checkTokenAccess(permitAll())  .allowFormAuthenticationForClients();        } //refresh_token 单独配置UserDetailsService Bean public UserDetailsService userDetailsServiceRefresh_token() {  return oauthWebSecurityConfig.userDetailsService(); }  Override public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception { endpoints  .tokenStore(new JdbcTokenStore(dataSource)).userDetailsService(userDetailsServiceRefresh_token())// 设置令牌 .authenticationManager(authenticationManager); } Bean // 声明 ClientDetails实现 public ClientDetailsService clientDetailsService() { return new JdbcClientDetailsService(dataSource); } Override public void configure(final ClientDetailsServiceConfigurer clients) throws Exception { clients.withClientDetails(clientDetailsService()); }    } 备注文件拷贝过程如下几个函数需要自行定义自动生成代码中未生成代码详细如下 1sysUserMapper.findByName(username); 2sysUserMapper.updateUNLockedByUserId(username); 3sysUserMapper.updatelockTimeByUserId(username, 0L); 4sysUserMapper.updatenLockByUserId(username, 0L); 5sysUserService.findPermissions(username) 3、开启EnableResourceServer注解在服务中声明资源服务器。 打开ActionApp.java文件添加EnableResourceServer 1删除WebSecurityConfig.java文件拷贝OAuthWebSecurityConfig.java文件 2配置App客户端ID和密码 打开“application.yml”文件添加如下代码 spring: security: oauth2: client: clientId: zrBm49l73k996cJj9471 clientSecret: b400wT1D62  accessTokenUri: ${auth-server}/oauth/token userAuthorizationUri: ${auth-server}/oauth/authorize scope: all resource: userInfoUri: ${auth-server}/user   备注clientIdy和clientSecret为app唯一标识码注册在库表“oauth_client_details”中 4、获取服务令牌 上述配置采用“授权码”模式获取令牌首先获取授权码再用授权码换取令牌用户使用令牌访问系统资源 1获取授权码 在浏览器中输入测试地址http://localhost:2885/oauth/authorize?client_idzrBm49l73k996cJj9471response_typecoderedirect_urihttp://localhost:2885/assets/img 浏览器返回http://localhost:2885/assets/img?code 56Lv8n 2换取令牌 利用postman的post方式发送http://localhost:2885/oauth/token?grant_typeauthorization_codecode56Lv8nclient_idzrBm49l73k996cJj9471client_secretb400wT1D62redirect_urihttp://localhost:2885/assets/img获取令牌postman返回如下所示 其中 access_token: c334c2ab-aaf7-49c6-8ce5-f23459a6274f,就是我们获得令牌 3利用令牌访问资源 浏览器中输入http://localhost:2885/assets/img/%E6%B5%B7%E8%B1%9A.png?access_tokenc334c2ab-aaf7-49c6-8ce5-f23459a6274f,即可访问资源如下图所示 到此springbootspring securityOauth2.0的授权服务器和资源服务器的搭建工作就结束了。下文讲详细讲解Oauth2.0的几个重要结构文件详细配置以及授权错误处理实现系统登陆的闭环测试。
http://wiki.neutronadmin.com/news/145054/

相关文章:

  • 河源网站建设多少钱好看的网站模版
  • 网站排名公司哪家好京东这样的网站怎么做
  • 应聘网站开发题目视觉设计包括什么
  • 任丘市做网站价格潍坊网站制作公司哪家比较好
  • 设计网站的优缺点分析中国搜索
  • 老网站改版国内用wordpress建设
  • 专门做视频的网站查公司的国家网站有哪些
  • 微网站模板怎么做新媒体营销实训报告总结
  • 做网站意向客户wordpress跳转到老域名
  • 有哪些可以做外链的网站电商运营招聘
  • 求个没封的w站2021软件建设银行网上银行网站
  • 网站设计与制作费用做pc端网站信息
  • 怎么做信息发布型网站平面设计学下来多少钱
  • 柳州 网站建设wordpress评论框提示
  • 无锡做网站优化在哪个网站去租地方做收废站
  • 局域网建设网站如何访问wordpress 版微信小程序
  • 延安网站设计宿迁沭阳网站建设
  • 东莞市建设监督网站首页开发一款游戏需要多少资金
  • 荣成城乡建设局网站随州网站seo诊断
  • 购物商城网站建设方案做网站想注册商标是哪一类
  • 新网站如何做搜索引擎收录沈阳高端网站设计
  • 济南网站推广网站模板大小
  • 做网站一定要效果图吗discuz论坛门户网站模板
  • 漳州网站开发去博大钱少a厦门正规的网站建设公司
  • 音乐盒的网站怎么做网页制作基础教程课程标准
  • 不懂见网站怎么办网站开发实训心得体会
  • 深圳网站建设有限公司网站建设基础摘要
  • 展会网站建设 服务器选择很重要企业网站维护兼职
  • 北京建设集团网站1122t
  • 网站建设大约多长时间网站开发 app