コード例 #1
0
    public CustomAuthorization GetAuthorization(string rootUrl, string userId)
    {
        if (rootUrl.Equals("dummy", StringComparison.InvariantCultureIgnoreCase))
        {
            var version  = "1.9";
            var pvpToken = new PvpToken(new Dictionary <PvpAttributes, string>()
            {
                { PvpAttributes.VERSION, version },
                { PvpAttributes.PARTICIPANT_ID, "AT:L6:1234789" },
                { PvpAttributes.USERID, "egovstar.appserv1.intra.xyz.gv.at" },
                { PvpAttributes.X_AUTHENTICATE_cn, "Anwendung 1 Register-Interface" },
                { PvpAttributes.OU_GV_OU_ID, "AT:L6:4711" },
                { PvpAttributes.OU, "Fachabteilung 1B Informationstechnik" },
                { PvpAttributes.SECCLASS, "2" },
                { PvpAttributes.ROLES, "FixedRole(param=value)" },
            }, false);

            CustomAuthorization auth = new CustomAuthorization();
            auth.TimeToLive            = 60 * 10; //10 Minuten
            auth.PvpVersion            = version;
            auth.SoapHeaderXmlFragment = pvpToken.GetSystemPrincipalSoapFragment();

            return(auth);
        }

        return(CustomAuthorization.NoAuthorization);
    }
コード例 #2
0
        public void SystemPrincipalTest()
        {
            PvpToken token = new PvpToken(GetNameValueCollection19());
            var      xml   = token.GetSystemPrincipalSoapFragment();

            Assert.AreEqual("<pvpToken version=\"1.9\" xmlns=\"http://egov.gv.at/pvp1.xsd\"><authenticate><participantId>AT:L6:1234789</participantId><systemPrincipal><userId>[email protected]</userId><cn>Max Mustermann</cn><gvOuId>AT:GGA-60420:0815</gvOuId><ou>Meldeamt</ou><gvOuOKZ>AT:GGA-60420-Abt13</gvOuOKZ><gvSecClass>2</gvSecClass></systemPrincipal></authenticate><authorize><role value=\"Beispielrolle\"><param><key>GKZ</key><value>60420</value></param></role></authorize></pvpToken>"
                            , xml.OuterXml);
        }