<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/simple_admin_auth.rb</filename>
    </added>
    <added>
      <filename>test/unit/simple_admin_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,14 +1,27 @@
 class SessionsController &lt; ApplicationController
   
+  def new
+    render :layout =&gt; nil
+  end
+  
   def create
     if openid = request.env[&quot;rack.openid.response&quot;]
       if openid.status == :success
         if sa = SimpleAdmin.find(openid.display_identifier)
-          current_user = sa.openid
-          render :text =&gt; &quot;Welcome: #{sa.openid}&quot;
+          self.current_user = sa.openid
+          p self.current_user
+          if session[:return_to]
+            redirect_to session[:return_to]
+          else
+            redirect_to '/'
+          end
+        else
+          flash[:error] = &quot;Not Authorized&quot;
+          render :new
         end
       else
-        render :text =&gt; &quot;Error: #{openid.status}&quot;
+        flash[:error] = &quot;Error: #{openid.status}&quot;
+        render :new
       end
     else
       response.headers['WWW-Authenticate'] = Rack::OpenID.build_header(
@@ -24,13 +37,4 @@ class SessionsController &lt; ApplicationController
     redirect_to '/'
   end
   
-  private
-  
-  def current_user=(openid)
-    session[:simple_admin] = openid
-  end 
-  
-  def current_user
-    SimpleAdmin.find(session[:simple_admin])
-  end
 end
\ No newline at end of file</diff>
      <filename>app/controllers/sessions_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,9 +4,10 @@ class SimpleAdmin
   
   def self.find(user)
     admins = YAML.load_file(File.join(RAILS_ROOT, 'config', 'simple_admins.yml'))
-    if admins.include?(user)
-      self.new(user)
-    end
+    matches = admins.delete_if {|admin|
+      !(admin.match(/^(http:\/\/)?#{user.to_s}\/?$/) || user.to_s.match(/^(http:\/\/)?#{admin}\/?$/))
+    }
+    matches.empty? ? nil : self.new(user)
   end
   
   def initialize(user)</diff>
      <filename>app/models/simple_admin.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,69 @@
-&lt;% form_tag(session_url, :id =&gt; 'openid_form', :selected =&gt; true) do %&gt;
-	&lt;fieldset&gt;
-    	&lt;legend&gt;Sign-in or Create New Account&lt;/legend&gt;
-			&lt;div id=&quot;openid_input_area&quot; selected=&quot;true&quot;&gt;
-				&lt;input id=&quot;openid_identifier&quot; name=&quot;openid_identifier&quot; type=&quot;text&quot; value=&quot;http://&quot; /&gt;
-				&lt;input id=&quot;openid_submit&quot; type=&quot;submit&quot; value=&quot;Sign-In&quot;/&gt;
-			&lt;/div&gt;
-	&lt;/fieldset&gt;
-&lt;% end %&gt;
+&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
+	&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
+
+&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
+&lt;head&gt;
+	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;
+	&lt;title&gt;Simple Admin Login&lt;/title&gt;
+	&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
+    body{background:#555;font-size:1.3em;font-family:&quot;Helvetica&quot;,Helvetica,sans-serif;}
+    h1,h2,h3{text-align:center;}
+    h1{color:#222;text-shadow:1px 1px 1px #ddd;margin-bottom:0.5em;}
+    h2{color:#888;width:80%;margin:0.5em auto 30px auto;font-family:&quot;Palantino&quot;,Georgia;font-size:80%;font-style:italic;font-weight:normal;}
+    p,label, span{text-shadow:1px 1px 1px #f2f2f2;}
+    label{color:#444;display:block;font-variant:small-caps;text-transform:lowercase;}
+    p{font-size:77%;color:#444;}
+    input{width:440px;font-size:1.5em;margin-bottom:0.75em;}
+    .explanation{text-align:center;}
+
+    fieldset{width:440px;margin:10px auto;border:none;}
+    hr{border:0px transparent solid;border-top:1px #fdfdfd solid;border-bottom:1px #ddd solid;margin:20px 0 30px 0;}
+    .container{width:480px;}
+    .container{padding:30px 30px;margin:100px auto 30px auto;background:#fff;-moz-border-radius:11px;-khtml-border-radius:11px;-webkit-border-radius:11px;border-radius:11px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;-webkit-box-shadow:3px 0px 7px #222;-khtml-box-sizing:content-box;box-sizing:content-box;
+    }
+    .footer{margin:0 auto;display:block;color:#555;text-align:center;font-size:0.6em;}
+    .footer span{display:block;line-height:1.5em;}
+    .big_button {
+      background: rgb(135, 181, 0);
+      color: rgb(236, 245, 222);
+      -webkit-border-bottom-left-radius: 5px 5px;
+      -webkit-border-bottom-right-radius: 5px 5px;
+      -webkit-border-top-left-radius: 5px 5px;
+      -webkit-border-top-right-radius: 5px 5px;
+      border-bottom: 1px solid rgb(104, 147, 0);
+      border-left: solid rgb(221, 221, 221);
+      border-width: 0px 1px 1px;
+      border-right: 1px solid rgb(104, 147, 0);
+      border-top: 0px solid rgb(221, 221, 221);
+      color: white;
+      cursor: pointer;
+      font-size: 22px;
+      height: 42px;
+      width:445px;
+      line-height: 42px;
+      margin: 0px;
+      overflow: visible;
+      padding: 0px 15px;
+    }
+	&lt;/style&gt;
+&lt;/head&gt;
+
+&lt;body&gt;
+  &lt;div class=&quot;container&quot;&gt;
+    &lt;% if flash[:error] %&gt;
+      &lt;h2 style='color:red;'&gt;&lt;%= flash[:error] %&gt;&lt;/h2&gt;
+    &lt;% end %&gt;
+    &lt;h1&gt;Admin Only&lt;/h1&gt;
+    &lt;% form_tag(session_url, :id =&gt; 'openid_form', :selected =&gt; true) do %&gt;
+      &lt;fieldset&gt;
+        &lt;label&gt;OpenID&lt;/label&gt;
+        &lt;div id=&quot;openid_input_area&quot; selected=&quot;true&quot;&gt;
+  				&lt;input id=&quot;openid_identifier&quot; name=&quot;openid_identifier&quot; type=&quot;text&quot; value=&quot;http://&quot; /&gt;
+  				&lt;input id=&quot;openid_submit&quot; type=&quot;submit&quot; value=&quot;Log In&quot; class='big_button'/&gt;
+  			&lt;/div&gt;
+      &lt;/fieldset&gt;
+    &lt;% end %&gt;
+  &lt;/div&gt;
+      
+&lt;/body&gt;
+&lt;/html&gt;</diff>
      <filename>app/views/sessions/new.erb</filename>
    </modified>
    <modified>
      <diff>@@ -6,4 +6,6 @@ config.to_prepare do
 
 
   config.middleware.use ::Rack::OpenID, OpenID::Store::Filesystem.new(&quot;#{RAILS_ROOT}/tmp/openid&quot;)
+  OpenID::Util.logger = Rails.logger
+  ActionController::Base.send :include, SimpleAdminAuth
 end</diff>
      <filename>init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,6 @@
 require 'test/unit'
 require 'rubygems'
-
-gem 'activesupport'
-require 'active_support'
-
-gem 'actionpack'
-require 'action_controller'
-
-gem 'mocha'
-require 'mocha'
-
-gem 'ruby-openid'
 require 'openid'
 
 RAILS_ROOT = File.dirname(__FILE__) unless defined? RAILS_ROOT
-require File.dirname(__FILE__) + &quot;/../lib/open_id_authentication&quot;
+</diff>
      <filename>test/unit/test_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>test/performance/browsing_test.rb</filename>
    </removed>
    <removed>
      <filename>test/test_helper.rb</filename>
    </removed>
    <removed>
      <filename>test/unit/open_id_authentication_test.rb</filename>
    </removed>
    <removed>
      <filename>test/unit/status_test.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>7523b0fefcc34fefa61426d6b930a366188f0ee7</id>
    </parent>
  </parents>
  <author>
    <name>Mark Percival</name>
    <email>mark@mpercival.com</email>
  </author>
  <url>http://github.com/markpercival/simple_admin/commit/986147ae14230ce544ca6c81e5169ce673a3dbf9</url>
  <id>986147ae14230ce544ca6c81e5169ce673a3dbf9</id>
  <committed-date>2009-11-05T07:13:27-08:00</committed-date>
  <authored-date>2009-11-05T07:13:27-08:00</authored-date>
  <message>fixed and working</message>
  <tree>9ff6801ea2fe7ccc288b9c25b2abb55ac666676d</tree>
  <committer>
    <name>Mark Percival</name>
    <email>mark@mpercival.com</email>
  </committer>
</commit>
