使用ASP.NET应用程序的CAS数据库连接器

时间:2016-04-15 13:13:54

标签: asp.net .net maven cas

我最近对使用ASP.NET MVC应用程序的工作项目的CAS系统感兴趣。所以我在MVC之后创建了一个简单的测试项目,我现在正在尝试将我的SQL数据库(使用Visual Studio 2015 Pro的实体框架生成)和我的CAS链接起来,以便CAS服务器可以在用户检查我的项目数据库时他们试图登录。

我正在使用CAS 4.0.1,因此我已按照本教程进行操作:https://jasig.github.io/cas/4.0.x/installation/Database-Authentication.html 并用我自己的值替换了属性并将其简化了一下,最终看起来像这样:

在" deployerConfigContext.xml"

<bean id="authenticationManager" class="org.jasig.cas.authentication.PolicyBasedAuthenticationManager">
    <constructor-arg>
        <map>
            <entry key-ref="primaryAuthenticationHandler" value-ref="dbAuthHandler"/>
        </map>
    </constructor-arg>

    <property name="authenticationPolicy">
        <bean class="org.jasig.cas.authentication.AnyAuthenticationPolicy" />
    </property>
</bean>

<bean id="passwordEncoder"
      class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"
      c:encodingAlgorithm="MD5"
      p:characterEncoding="UTF-8" />

<bean id="dbAuthHandler"
      class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler"
      p:dataSource-ref="dataSource"
      p:passwordEncoder-ref="passwordEncoder"
      p:tableUsers="Users"
      p:fieldUser="Username"
      p:fieldPassword="PassWord"/>

<bean id="dataSource"
      class="org.apache.tomcat.jdbc.pool"
      p:driverClass="${database.driverClass}"
      p:jdbcUrl="${database.url}"
      p:user="${database.user}"
      p:password="${database.password}" />

在&#34; cas.properties&#34;文件

database.driverClass=com.microsoft.jdbc.sqlserver
database.url=jdbc:sqlserver://localhost:59228;DatabaseName=ConnectionTest.Models.DatabaseContext
database.user=casAdmin
database.password=casPwd

在pom.xml文件中(对于Maven构建)

    <dependencies>
        <dependency>
            <groupId>org.jasig.cas</groupId>
            <artifactId>cas-server-webapp</artifactId>
            <version>${cas.version}</version>
            <type>war</type>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.jasig.cas</groupId>
            <artifactId>cas-server-support-jdbc</artifactId>
            <version>${cas.version}</version>
        </dependency>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>4.0</version>
        </dependency>
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
     <-- I tried with Tomcat JDBC driver instead of C3P0
         but it didn't seem to have changed anything -->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
            <version>9.0.0.M4</version>
        </dependency>
    </dependencies>

    <properties>
        <cas.version>4.0.1</cas.version>
    </properties>

我在使用Maven(3.3.9)构建时没有遇到任何错误,也没有在使用Tomcat(9.0.0.M4)进行部署时遇到任何错误,但是当我尝试使用某些数据库和#39登录CAS时它的凭据只是告诉我,我的凭证无效。 我怀疑使用错误语法的数据库URL,但我不确定如何编写它,否则我无法找到有关.NET连接器的任何帮助。

感谢任何帮助,谢谢。

编辑:经过一些建议,我发现了什么似乎是正确的MSSQL驱动程序,但我仍然不确定格式化,因为我仍然无法登录与我的DB用户。

0 个答案:

没有答案