首页 文章 精选 留言 我的

精选列表

搜索[地理位置权限],共10013篇文章
优秀的个人博客,低调大师

SpringBoot-Security-用户权限分配-项目搭建

官网地址:https://docs.spring.io/spring-boot/docs/2.1.x/reference/htmlsingle/ SpringBoot原则是约定优于配置,简化spring应用开发,去繁从简,产品级别的应用。 SpringBoot有哪些优点1、快速创建独立运行的spring项目与主流框架集成 2、使用嵌入式的servlet容器,应用无需打包成war包 3、starters自动依赖与版本控制 4、大量的自动配置,简化开发,也可修改默认值 5、准生产环境的运行应用监控 6、与云计算的天然集成 在使用spring boot之前,搭建一个spring web项目需要的步骤:1、配置web.xml,加载spring和spring mvc2、配置数据库连接、配置spring事务3、配置加载配置文件的读取,开启注解4、配置日志文件... Spring发展阶段 第一阶段:xml配置在Spring1.x时代,使用Spring开发满眼都是xml配置的Bean,随着项目的扩大,我们需要把xml配置文件放到不同的配置文件里,那时需要频繁的在开发的类和配置文件之间进行切换 第二阶段:注解配置在Spring2.x时代,随着JDK1.5带来的注解支持,Spring提供了声明Bean的注解(例如@Component、@Service),大大减少了配置量。主要使用的方式是应用的基本配置(如数据库配置)用xml,业务配置用注解 第三阶段:java配置Spring 3.0引入了基于Java的配置能力,这是一种类型安全的可重构配置方式,可以代替XML。我们目前刚好处于这个时代,Spring4.x和SpringBoot都推荐使用Java配置。 SpringBoot 启动器说明 名称 描述 spring-boot-starter 核心启动器,包括自动配置支持,日志记录和YAML spring-boot-starter-activemq 使用Apache ActiveMQ进行JMS消息传递的入门者 spring-boot-starter-amqp 使用Spring AMQP和Rabbit MQ的入门者 spring-boot-starter-aop 使用Spring AOP和AspectJ进行面向方面编程的入门者 spring-boot-starter-artemis 使用Apache Artemis进行JMS消息传递的入门者 spring-boot-starter-batch 使用Spring Batch的入门者 spring-boot-starter-cache 使用Spring Framework的缓存支持的初学者 spring-boot-starter-cloud-connectors 使用Spring Cloud Connectors的初学者简化了Cloud Foundry和Heroku等云平台中的服务连接 spring-boot-starter-data-cassandra 使用Cassandra分布式数据库和Spring Data Cassandra的入门者 spring-boot-starter-data-cassandra-reactive 使用Cassandra分布式数据库和Spring Data Cassandra Reactive的入门者 spring-boot-starter-data-couchbase 使用Couchbase面向文档的数据库和Spring Data Couchbase的入门者 spring-boot-starter-data-couchbase-reactive 使用Couchbase面向文档的数据库和Spring Data Couchbase Reactive的入门者 spring-boot-starter-data-elasticsearch 使用Elasticsearch搜索和分析引擎以及Spring Data Elasticsearch的初学者 spring-boot-starter-data-jdbc 使用Spring Data JDBC的入门者 spring-boot-starter-data-jpa 将Spring Data JPA与Hibernate一起使用的初学者 spring-boot-starter-data-ldap 使用Spring Data LDAP的入门者 spring-boot-starter-data-mongodb 使用MongoDB面向文档的数据库和Spring Data MongoDB的初学者 spring-boot-starter-data-mongodb-reactive 使用MongoDB面向文档的数据库和Spring Data MongoDB Reactive的入门者 spring-boot-starter-data-neo4j 使用Neo4j图形数据库和Spring Data Neo4j的入门者 spring-boot-starter-data-redis 在Spring Data Redis和Lettuce客户端上使用Redis键值数据存储的初学者 spring-boot-starter-data-redis-reactive 使用带有Spring Data Redis被动的Redis键值数据存储和Lettuce客户端的入门者 spring-boot-starter-data-rest 使用Spring Data REST通过REST公开Spring Data存储库的入门者 spring-boot-starter-data-solr 在Spring Data Solr中使用Apache Solr搜索平台的初学者 spring-boot-starter-freemarker 使用FreeMarker视图构建MVC Web应用程序的入门者 spring-boot-starter-groovy-templates 使用Groovy模板视图构建MVC Web应用程序的入门者 spring-boot-starter-hateoas 使用Spring MVC和Spring HATEOAS构建基于超媒体的RESTful Web应用程序的入门者 spring-boot-starter-integration 使用Spring Integration的入门者 spring-boot-starter-jdbc 将JDBC与HikariCP连接池一起使用的入门者 spring-boot-starter-jersey 使用JAX-RS和Jersey构建RESTful Web应用程序的初学者。替代spring-boot-starter-web spring-boot-starter-jooq 使用jOOQ访问SQL数据库的初学者。替代spring-boot-starter-data-jpa或spring-boot-starter-jdbc spring-boot-starter-json 阅读和写作json的初学者 spring-boot-starter-jta-atomikos 使用Atomikos进行JTA交易的入门者 spring-boot-starter-jta-bitronix 使用Bitronix进行JTA事务的入门者 spring-boot-starter-mail 使用Java Mail和Spring Framework的电子邮件发送支持的入门者 spring-boot-starter-mustache 使用Mustache视图构建Web应用程序的入门者 spring-boot-starter-oauth2-client 使用Spring Security的OAuth2 / OpenID Connect客户端功能的入门者 spring-boot-starter-oauth2-resource-server 使用Spring Security的OAuth2资源服务器功能的入门者 spring-boot-starter-quartz 使用Quartz调度程序的入门者 spring-boot-starter-security 使用Spring Security的入门者 spring-boot-starter-test 使用JUnit,Hamcrest和Mockito等库来测试Spring Boot应用程序的初学者 spring-boot-starter-thymeleaf 使用Thymeleaf视图构建MVC Web应用程序的入门者 spring-boot-starter-validation 使用Java Bean Validation和Hibernate Validator的初学者 spring-boot-starter-web 使用Spring MVC构建Web(包括RESTful)应用程序的入门者。使用Tomcat作为默认嵌入式容器 spring-boot-starter-web-services 使用Spring Web Services的入门者 spring-boot-starter-webflux 使用Spring Framework的Reactive Web支持构建WebFlux应用程序的初学者 spring-boot-starter-websocket 使用Spring Framework的WebSocket支持构建WebSocket应用程序的初学者 spring-boot-starter-jetty 使用Jetty作为嵌入式servlet容器的入门。替代spring-boot-starter-tomcat spring-boot-starter-log4j2 使用Log4j2进行日志记录的入门。替代spring-boot-starter-logging spring-boot-starter-logging 使用Logback进行日志记录的入门。默认日志启动器 spring-boot-starter-reactor-netty 使用Reactor Netty作为嵌入式响应式HTTP服务器的入门者。 spring-boot-starter-tomcat 使用Tomcat作为嵌入式servlet容器的入门者。使用的默认servlet容器启动器spring-boot-starter-web spring-boot-starter-undertow 使用Undertow作为嵌入式servlet容器的入门者。替代spring-boot-starter-tomcat spring-boot-starter-actuator 使用Spring Boot的Actuator的初学者,它提供生产就绪功能,帮助您监控和管理您的应用程序 创建SpringBoot项目 1、打开idea开发工具,在菜单栏选择File-->New-->Project...-->Spring Initializer2、填写Group和Artifact信息3、勾选web4、修改工程名字和路径,完成

优秀的个人博客,低调大师

Laravel 使用中间件进行权限控制

先看 文档 Laravel 中间件提供了一种方便的机制来过滤进入应用的 HTTP 请求。 这里实现一个只有admin角色才能访问特定路由的功能 新建middlewarephp artisan make:middleware MustBeAdmin 打开生成的 \app\Http\Middleware\MustBeAdmin.php 修改handle方法 关于hasRole方法上一篇有讲解 这里在请求前判断用户角色是否是admin,如果条件满足进到下一个中间件。不满足返回首页。 public function handle($request, Closure $next) { // 前置 if ($request->user()->hasRole('admin')) { return $next($request); } return redirect('/'); } 让系统识别中间件。打开 \app\Http\Kernel 在 $routeMiddleware 数组里追加'mustAdmin' => \App\Http\Middleware\MustBeAdmin::class, 关于中间件的调用非常灵活,比如 在 routes\web.php 中Route::resource('posts', 'PostsController')->middleware('mustAdmin'); 在控制器中 class PostsController extends Controller { public function __construct() { $this->middleware('mustAdmin', ['only' => 'show']); } ... 项目中用到过的中间件 例1 在route中定义哪些角色可以访问,通过 role:ADMIN,TEACHER 知,role是中间件名字,后面的 ADMIN,TEACHER 是参数。 routes.php Route::group(['middleware' => ['web', 'auth', 'role:ADMIN,TEACHER'], 'namespace' => '\StudentTrac\Guides\Controllers'], function () { Route::resource('guides', 'GuidesController', ['only' => ['index']]); Route::resource('guides/admin', 'AdminController', ['only' => ['index', 'edit']]); } ); /app/Http/Middleware/Role.php public function handle($request, Closure $next, $role) { // ['ADMIN', 'TEACHER'] $roles = func_get_args(); $roleIds = []; // 根据role名字拿到对应的id foreach ($roles as $index => $role) { // 为什么这么判断我也忘了 if ($index < 2) continue; $roleIds[] = config('roles.' . trim($role)); } // 判断当前用户的roleId是否存在 if (! in_array((int)$this->auth->user()->RoleId, $roleIds)) { return response('Unauthorized', 403); } return $next($request); } config/roles.php return [ /* * Role id for role. */ 'ADMIN' => 1, 'STUDENT' => 2, 'GUARDIAN' => 3, 'TEACHER' => 4, 'SUPPORTSTAFF' => 5, 'AUDITOR' => 6, 'CURRICULUM' => 7, 'CLIENTADMINISTRATOR' => 8, ];

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册