Content Table

Spring Security 用户信息数据源

前面章节中用户名、密码、权限都是写在配置文件里的,不能动态的管理用户的权限,大多数时候显然是不行的。这里介绍从其他数据源读取用户的信息,例如从数据库,LDAP 等。只需要给 authentication-provider 提供接口 UserDetailsService 的实现类即可,使用这个类获取用户的信息,涉及以下内容:

  • 修改 spring-security.xml 中的 authentication-provider
  • 类 UserDetailsService 实现了 Spring Security 的接口 UserDetailsService
  • 类 User
  • 类 UserService

Spring Security 入门

目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
├── main
│   ├── java
│   │   └── com
│   │   └── xtuer
│   │   └── controller
│   │   └── HelloController.java
│   ├── resources
│   │   └── config
│   │   ├── spring-mvc.xml
│   │   └── spring-security.xml
│   └── webapp
│   └── WEB-INF
│   ├── view
│   │   └── fm
│   │   ├── admin.htm
│   │   └── hello.htm
│   └── web.xml
└── test
├── java
└── resources

Spring Security 入门

目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
├── build.gradle
└── src
├── main
│   ├── java
│   │   └── com
│   │   └── xtuer
│   │   └── controller
│   │   └── HelloController.java
│   ├── resources
│   │   ├── config
│   │   │   ├── application-servlet.xml
│   │   │   └── spring-security.xml
│   │   └── logback.xml
│   └── webapp
│   └── WEB-INF
│   ├── page
│   │   ├── admin.html
│   │   └── hello.html
│   ├── static
│   │   ├── css
│   │   ├── img
│   │   ├── js
│   │   └── lib
│   └── web.xml
└── test
├── java
└── resources

Spotlight 快捷键

  • ⌘+D: 快速查字典
  • ⌘+L: 直接在 Spotlight 浏览名词解释
  • ⌘+B: 打开浏览器,在网页上搜索
  • ⌘+R: 打开档案所在的文件夹
  • ⌘+i: 查看档案详细信息

Mac 开发者软件推荐

下面列举一些 Mac 下开发者可能常用到的软件,大多数都是免费的,某些收费的软件同时提供了免费版,其功能大多时候也能够满足常用需求。

Homebrew

Homebrew 简称 brew,是 Mac OSX 上的软件包管理工具,能在 Mac 中方便的安装软件或者卸载软件,可以说 Homebrew 就是 Mac 下的 apt-get、yum 神器,安装软件只需要一个命令。

Homebrew 主页为 https://brew.sh/index_zh-cn.html,安装 Homebrew 只需要在终端执行下面的 Ruby 代码即可:

1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

常用命令可参考 http://qtdebug.com/mac-homebrewMac 下 brew 切换为国内源

Mac Homebrew

Homebrew 可以很方便的通过终端安装许多软件,例如 Tomcat,Redis,Gradle,Tree 等,和 Ubuntu 下的 apt-get 很像,下面列出一些 Homebrew 常用命令,以安装 tomcat 为例。

CentOS 7 简单使用

下载 CentOS

访问 https://www.centos.org/download/ 下载 Minimal ISO 即可,其他的虽然功能齐全,但是太大了。

必要工具

  • yum install zip unzip -y:

    1
    2
    3
    4
    5
    # 把文件夹 H5 和文件 x.html 压缩成 result.zip
    zip -r result.zip H5 x.html

    # 解压 filename.zip, 如无 -d 则解压到当前目录,有则解压到目录 dest-directory
    unzip filename.zip [-d dest-directory]
  • yum install bzip2 (解压 .bz2 文件)

  • yum install net-tools (安装后才能使用 ifconfig 等)

  • yum install psmisc 安装 pstree 查看进程树 (pstree -g)

  • tar 解压 tar.gz: tar xf filename.tar.gz

  • 安装 tree: yum install tree

  • 安装 7z: yum install -y p7zip,如果不能用 yum 安装,可以自己编译

    1
    2
    3
    4
    5
    wget http://nchc.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2
    tar -jxvf p7zip_9.20.1_src_all.tar.bz2
    cd p7zip_9.20.1
    make
    make install
  • 安装 VIM (默认只安装了 VI,不能高亮搜索,不能语法高亮等)

    • 查看本机是否已经安装 VIM: rpm -qa | grep vim
      1
      2
      3
      vim-minimal-7.4.629-5.el6.x86_64
      vim-enhanced-7.4.629-5.el6_8.1.x86_64
      vim-common-7.4.629-5.el6_8.1.x86_64
      如果安装了则会显示上面 3 个包,缺少了的需要进行安装:
      • 缺少 vim-common: yum -y install vim-common
      • 缺少 vim-minimal: yum -y install vim-minimal
      • 缺少 vim-enhanced: yum -y install vim-enhanced

    查看 yum 安装的软件的文件都放到了哪些地方: rpm -ql nodejs

Java 解压 zip 文件

使用 Apache commons-compress 解压 zip 文件是件很幸福的事,可以解决 zip 包中文件名有中文时跨平台的乱码问题,不管文件是在 Windows 压缩的还是在 Mac,Linux 压缩的,解压后都没有再出现乱码问题了。