Benutzer-Werkzeuge

Webseiten-Werkzeuge


openantrag

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
openantrag [20.06.2018 10:43] – [OpenAntrag] thoogeopenantrag [23.06.2018 15:33] (aktuell) – [Parlamente] thooge
Zeile 10: Zeile 10:
     * Pushbullet     * Pushbullet
     * Pushover     * Pushover
 +
 ===== Windows ===== ===== Windows =====
  
Zeile 16: Zeile 17:
 zu bekommen. Anschließend dann verwenden aktueller Versionen der zu bekommen. Anschließend dann verwenden aktueller Versionen der
 verwendeten Komponenten. verwendeten Komponenten.
 +
 +Nachdem die alte Konfiguration läuft, geht es an die Aktualisierung:
 +  * RavenDB 4.0.5
 +    * Datenbank aus 2.5 kann über 3.5 nach 4 konvertiert werden
 +    * Anwendung muß auf .NET 4.6.1 umgestellt werden
 +  * Es gibt einige Änderungen, der Programmcode muß angepaßt werden. Insgesondere gibt es keinen Connectionstring mehr.
  
 ==== RavenDB ==== ==== RavenDB ====
Zeile 40: Zeile 47:
 === Berechtigungen === === Berechtigungen ===
  
-Über ASP.NET Xml Security Providers: +Es gibt 
-https://docs.microsoft.com/en-us/iis/application-frameworks/building-and-running-aspnet-applications/how-to-use-the-sample-read-only-xml-membership-and-role-providers-with-iis+  * Einen Administrator 
 +  * Normale Benutzer 
 +    * ''ID'' 
 +    * ''User-Key'' 
 +    * ''Benutzername'' 
 +    * ''EMail'' 
 +    * ''API-Key'' 
 +    * ''Pushover-User-Key''
  
 +Die Berechtigungen werden aus der Datei ''Users.xml'' gelesen. 
 +Damit das ganze funktioniert wird noch ein Membership Provider benötigt.
 +Dies ist ein eigenständiges Projekt.
 +Siehe auch:
 +[[https://docs.microsoft.com/en-us/iis/application-frameworks/building-and-running-aspnet-applications/how-to-use-the-sample-read-only-xml-membership-and-role-providers-with-iis|Über ASP.NET Xml Security Providers]]
  
-TODO Genaues Format noch nicht geklärt+Der dort beschriebene Code muß geringfügig angepaßt werden, damit er für unsere Situation paßt. 
 +Insbesondere ist ein Verweis auf ''System.Web.ApplicationServices'' erforderlich.
  
-<file xml Roles.xml> +In ''ReadMembershipDataStore'' muß der providerUserKey (ein eindeutiger Schlüssel) aus der ''Users.xml'' 
-<?xml version="1.0encoding="utf-8"?> +übernommen werden. Wir verwenden ''UserID'' dazu: 
-<Roles> +<code vb> 
-</Roles> +MembershipUser user new MembershipUser( 
-</file>+ Name,                       // Provider name 
 + node["UserName"].InnerText, // Username 
 + node["UserID"].InnerText,   // providerUserKey 
 + node["EMail"].InnerText,    // Email 
 + String.Empty,               // passwordQuestion 
 + node["Password"].InnerText, // Comment 
 + true,                       // isApproved 
 + false,                      // isLockedOut 
 + DateTime.Now,               // creationDate 
 + DateTime.Now,               // lastLoginDate 
 + DateTime.Now,               // lastActivityDate 
 + DateTime.Now,               // lastPasswordChangedDate 
 + new DateTime(1980, 1, 1)    // lastLockoutDate 
 +); 
 + 
 +</code>
  
 <file xml Users.xml> <file xml Users.xml>
Zeile 57: Zeile 92:
    <User>    <User>
       <UserName>Bob</UserName>       <UserName>Bob</UserName>
 +      <UserID>bob</UserID>
       <Password>geheim</Password>       <Password>geheim</Password>
-      <EMail>bob@contoso.com</EMail> +      <EMail>bob@piratenpartei-sh.de</EMail> 
-      <Roles>Members</Roles>+      <Roles>testparlament</Roles>
    </User>    </User>
    <User>    <User>
       <UserName>Alice</UserName>       <UserName>Alice</UserName>
 +      <UserID>alice</UserID>
       <Password>geheim</Password>       <Password>geheim</Password>
-      <EMail>alice@contoso.com</EMail> +      <EMail>alice@piratenpartei-sh.de</EMail> 
-      <Roles>Members,Administrators</Roles>+      <Roles>admin,testparlament/Roles>
    </User>    </User>
 </Users> </Users>
 </file> </file>
 +
 +Rollen:
 +  * ''admin'' ist eine spezielle Rolle
 +  * Jedes Parlament (''representations.key'') entspricht einer Rolle
  
 === Anwendungseinstellungen === === Anwendungseinstellungen ===
  
-Settings in ''app.config'' +Settings in ''web.config'' 
-^ Setting ^ Standard ^ Beschreibung ^ +^ Setting                        ^ Datentyp  ^ Standard  ^ Beschreibung  
-| PushbulletApiUrl | | |  +| PushbulletApiUrl               String              |               
-| PushbulletAccessToken | | |  +| PushbulletAccessToken          | String                            
-| PushoverApiUrl | | |  +| PushoverApiUrl                 String              |               
-| PushoverAppToken | | |  +| PushoverAppToken               String              |               
-| PushoverUserKey | | |  +| PushoverUserKey                | String                            
-| TwitterConsumerKey | | |  +| TwitterConsumerKey             String              |               
-| TwitterConsumerSecret | | |  +| TwitterConsumerSecret          | String                            
-| TwitterAccessToken | | |  +| TwitterAccessToken             String              |               
-| TwitterAccessTokenSecret | | |  +| TwitterAccessTokenSecret       String              |               
-| TwitterRequestUrl | | |  +| TwitterRequestUrl              | String                            
-| PiratlyApiKey | | |  +| PiratlyApiKey                  String              |               
-| SendMail | | |  +| SendMail                       Boolean    False    |               
-| InfoMailCC | |  |  +| InfoMailCC                     String              |               
-| MailSender | | |  +| MailSender                     String              |               
-| SendTweets | | |  +| SendTweets                     Boolean    False    |               
-| SendPushoverNotification | | |  +| SendPushoverNotification       Boolean    False                  
-| DefaultPagerListPageSize | 25 | |  +| DefaultPagerListPageSize       Integer   |  25                     
-| DefaultPagerListWingLength | | |  +| DefaultPagerListWingLength     Integer    10                     
-| RandomKey_AllowCapitalLetters | | +| RandomKey_AllowCapitalLetters  | Boolean                           
-| RandomKey_Letters | | +| RandomKey_Letters              String    |                         
-| RandomKey_Numbers | |  +| RandomKey_Numbers              String    |                         
-| NotificationPageCount | |  +| NotificationPageCount          Integer    10                     
-| ProposalListCount | | +| ProposalListCount              | Integer    10                     |
  
  
Zeile 115: Zeile 156:
         label="Test" color="#999"          label="Test" color="#999" 
           name="Test-Parlament" name2="Parlament (Test)"           name="Test-Parlament" name2="Parlament (Test)"
-          level="4" federal="" map-url=""+          level="4" federal="SH" map-url=""
           group-type="1" group-name="Test"           group-type="1" group-name="Test"
           link=""           link=""
Zeile 164: Zeile 205:
 <configuration> <configuration>
  
-    <system.web> +  <system.web> 
-      <compilation debug="true" targetFramework="4.5.1" /> +    <compilation debug="true" targetFramework="4.5.1" /> 
-      <httpRuntime targetFramework="4.5.1" /+    <httpRuntime targetFramework="4.5.1" />
-    </system.web>+
  
-    <connectionStrings+    <!-- PublicKeyToken aus der Assembly mit "sn -T <dllfile> extrahieren  
-      <add name="RavenDBServer" connectionString="Url=http://localhost:8080;Database=OpenAntrag"/> +         oder aus %windir\Microsoft.NET\assembly% auslesen -->     
-    </connectionStrings>+ 
 +    <membership defaultProvider="AspNetReadOnlyXmlMembershipProvider"
 +      <providers> 
 +        <add name="AspNetReadOnlyXmlMembershipProvider" 
 +           type="ReadOnlyXmlMembershipProvider, ReadOnlyXmlMembershipProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5f20f686ead4fa28" 
 +           description="Read-only XML membership provider" 
 +           xmlFileName="~/App_Data/Users.xml" /> 
 +      </providers> 
 +    </membership> 
 +     
 +    <roleManager enabled="true" defaultProvider="AspNetReadOnlyXmlRoleProvider"> 
 +      <providers> 
 +        <add name="AspNetReadOnlyXmlRoleProvider" 
 +           type="ReadOnlyXmlRoleProvider, ReadOnlyXmlRoleProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6ae538083776793b" 
 +           description="Read-only XML role provider" 
 +           xmlFileName="~/App_Data/Users.xml" /> 
 +      </providers> 
 +    </roleManager> 
 + 
 +    <authentication mode="Forms" /> 
 + 
 +  </system.web> 
 + 
 +  <connectionStrings> 
 +    <add name="RavenDBServer" connectionString="Url=http://localhost:8080;Database=OpenAntrag"/> 
 +  </connectionStrings
 + 
 +  <appSettings> 
 +    <add key="SendMail" value="False"/> 
 +    <add key="SendTweets" value="False"/> 
 +    <add key="SendPushoverNotification" value="False"/> 
 +    <add key="DefaultPagerListPageSize" value="25"/> 
 +    <add key="DefaultPagerListWingLength" value="10"/> 
 +    <add key="RandomKey_AllowCapitalLetters" value="False"/> 
 +    <add key="RandomKey_Letters " value="abcdefghijklmnopqrstuvwxyz"/> 
 +    <add key="RandomKey_Numbers " value="0123456789"/> 
 +    <add key="NotificationPageCount" value="25"/> 
 +    <add key="ProposalListCount" value="25"/> 
 +  </appSettings>
  
 </configuration> </configuration>
Zeile 188: Zeile 266:
   * Teaser.xml    * Teaser.xml 
  
 +==== Deploy ====
 +
 +Veröffentlichen der Anwendung auf einem Server (ohne Entwicklungsumgebung).
 +Erfolgreich getestet mit einem Windows 7 mit IIS.
 +
 +  - IIS installieren
 +  - RavenDB 2.5 muß laufen
 +  - ASP.NET initialisieren<code>
 +cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
 +aspnet_regiis -i
 +</code>
 +  - Überkopieren der Daten 
 +    * Am besten die Funktion "Veröffentlichen" von Visual-Studio verwenden, in ein lokales Verzeichnis. Anschließend können die Dateien dann auf den echten Webserver übertragen werden.
  
 ===== Linux ===== ===== Linux =====
openantrag.1529491427.txt.gz · Zuletzt geändert: 20.06.2018 10:43 von thooge

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki