2015-06-29 7 views
0

Я хочу использовать Apache Shiro Security для защиты своего автономного приложения Java, но я не могу найти пример об этом.Конфигурация Apache Shiro Realm

Пожалуйста, помогите мне, как я могу реализовать и настроить автономное приложение Apache Shiro для подключения к базе данных и аутентификации моего приложения.

Благодарим вас за всех.

+0

Я нашел ниже конфигурации для того, как подключить Apache Shiro к базе данных Postgres. Теперь я не знаю, как аутентифицировать пользователей в основном методе? Вы можете увидеть здесь: https://github.com/puppetlabs/razor-server/blob/master/doc/shiro-database.ini –

ответ

0

Я не уверен, насколько далеко вы находитесь, но я рекомендую прочитать эту документацию на Programmatic Configuration Сиро. Это позволит вам создать JdbcRealm, настроить его программно и затем аутентифицировать.

+0

Что это не делает скажите, что вам нужно сделать, как назначить источник данных программно, между прочим. –

+0

См. Связанный JavaDoc для класса JdbcRealm. В частности, метод #setDataSource (DataSource dataSource). –

0

Хороший старт - это Shiro tutorial, который специально предназначен для автономных приложений. Для хорошей ссылки при создании и подключении вашего приложения к SQL-подобному серверу я рекомендую это tutorial. datasource PostgreSQL зависит от вашей реализации.

Вот пример для shiro.ini модифицирована для PostgreSQL

[main] 
# Create and setup user filter. 
user = com.example.filter.FacesAjaxAwareUserFilter 
user.loginUrl = /login.xhtml 

# Create JDBC realm. 
jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm 

# Configure JDBC realm datasource. 
dataSource = org.postgresql.Driver 
dataSource.URL = jdbc:postgresql://127.0.0.1:5432/db 
dataSource.user = sa 
dataSource.password = sa 
jdbcRealm.dataSource = $dataSource 

# Configure JDBC realm SQL queries. 
jdbcRealm.authenticationQuery = SELECT password FROM User WHERE username = ? 
jdbcRealm.userRolesQuery = SELECT role FROM UserRoles WHERE userId = (SELECT id FROM User WHERE username = ?) 

[urls] 
/login.xhtml = user 
/app/** = user 
Смежные вопросы