Сеанс гибернации на основе прав пользователя - PullRequest
0 голосов
/ 04 мая 2018

Я новичок в Hibernate и завершил небольшой проект по этому вопросу.

В настоящее время я хочу создать сеанс в Hibernate, основанный на правах пользователя, чтобы пользователь мог получить доступ к данным там, где у него есть права.

Моя база данных - pgadmin 9.1.

Версия Hibernate - 4.3.0 Final.

Я использую его с Spring Framework MVC.

1 Ответ

0 голосов
/ 04 мая 2018

Вы можете использовать Spring Security для управления сессиями.

Вы можете управлять доступом на трех уровнях:

  1. Java
  2. Просмотр (JSP, HTML и т. Д.)
  3. XML (security-context.xml)

Это пример security-context.xml:

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                    http://www.springframework.org/schema/security
                    http://www.springframework.org/schema/security/spring-security-3.1.xsd">

    <!-- We will be defining all security related configurations in this file -->
<!--     <http auto-config="true"></http>  -->
<http pattern="/resources/**" security="none" />
<http pattern="/passWordRec" security="none"  />
<http pattern="/PassRec" security="none"  />
<http pattern="/passWordRecSuccFail" security="none"  />
<http pattern="/login" security="none" />
<!-- <http pattern="/downloadUsersPDF" security="none" /> -->


    <http use-expressions="true" disable-url-rewriting="true" auto-config="false">
        <intercept-url pattern="/downloadUsersPDF" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/downloadInformationUserPdf" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/downloadWatchPdf" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/downloadPatientWatchPdf" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/downloadSupervisorPdf" access="hasRole('ROLE_ADMIN')" />

        <intercept-url pattern="/**" access="isAuthenticated()" /><!-- this means all URL in this app will be checked if user is authenticated -->
        <form-login login-page="/login" default-target-url="/index-2"
            authentication-failure-url="/login?error"  always-use-default-target="true"/> <!-- We will just use the built-in form login page in Spring -->
        <logout logout-url="/logout" logout-success-url="/login?logout" />
<!--         <logout delete-cookies="JSESSIONID" /> the logout url we will use in JSP -->
         <remember-me key="uniqueAndSecret"/>
    </http>


    <authentication-manager>
        <authentication-provider user-service-ref="customUserDetailsService" >

           <password-encoder hash="sha-256">
            <salt-source user-property="username"/>
            </password-encoder>

        </authentication-provider>
    </authentication-manager>

</beans:beans>

Более подробно вы можете увидеть этот проект .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...