def cookies(self):
        """Dictionary of cookies keyed by cookie name.

        Just a plain dictionary, may be empty but not None.

        """
        return get_cookie_dict(self.environ)
Example #2
0
  def __call__(self, pipe, environ, start_response):
    remote_ip = environ.get('REMOTE_ADDR', "Unknown")
    cookies = get_cookie_dict(environ)

    try:
      environ['hsr']['user'] = None 
    except KeyError:
      environ['hsr'] = {'user' : None}

    environ['hsr']['auth_except'] = None
    environ['hsr']['session'] = None

    try:
      sid = cookies['sid']
      if sid == None:
        raise KeyError
      session = self.auth_controller.get_session(sid,
          session_expiration=self.session_expiration)
      user = session.user
    except (NoSuchSession, SessionExpired), e:
      logging.info("%s failed to authenticate using (%s): %s" %
          (remote_ip, sid, type(e).__name__))
      environ['hsr']['auth_except'] = e
      start_response.delete_cookie('sid')
      return self.login_view(None, environ, start_response)
    def cookies(self):
        """Dictionary of cookies keyed by cookie name.

        Just a plain dictionary, may be empty but not None.
        
        """
        return get_cookie_dict(self.environ)
Example #4
0
def app(environ, start_response):
    cfg = ConfigParser()
    cfg.read('crowd.properties')	
    fields = parse_formvars(environ)
    if environ['REQUEST_METHOD'] == 'POST':
	cc = CrowdPy()
	cc.createClient()
	cc.authenticateApplication()
	headers = [] 
	headers.append(('content-type','text/html'))
	try:
		authenticated = cc.authenticatePrincipal(fields['usernname'],fields['password'])
		cookieInfo = cc.getCookieInfo()
		if cookieInfo.domain is None:
			domain = cfg.get('default','domain.name')
		else:
			domain = cookieInfo.domain
		headers.append(('Set-Cookie','crowd.token_key=' + authenticated + ';path=/;domain='+ domain +';expires=Sat, 7-Feb-2012 03:10:00' ))
	except WebFault:
		start_response('200 OK', headers)
		return ['Invalid username/password']
	start_response('200 OK', headers)
	return ['Hello, ', fields['usernname'], ' You are valid user!']
    else:
	start_response('200 OK', [('content-type', 'text/html')])
	cookies = request.get_cookie_dict(environ)
	if 'crowd.token_key' in cookies.keys():
		cc = CrowdPy()
		cc.createClient()
		cc.authenticateApplication()
		isValid = cc.isValidPrincipalToken(cookies['crowd.token_key'])
             	return 'Already Authenticated'
        return ['<form method="POST">User-name: <input type="text" '
                'name="usernname"><br> Password : <input type="password" name="password" > <input type="submit"></form>']