本文整理汇总了Python中web_container.WebContainer.set_security方法的典型用法代码示例。如果您正苦于以下问题:Python WebContainer.set_security方法的具体用法?Python WebContainer.set_security怎么用?Python WebContainer.set_security使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类web_container.WebContainer
的用法示例。
在下文中一共展示了WebContainer.set_security方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: handle_guest_security
# 需要导入模块: from web_container import WebContainer [as 别名]
# 或者: from web_container.WebContainer import set_security [as 别名]
def handle_guest_security(self, security):
# skip storing current security since it failed
Site.set_site("default", store_security=False)
try:
WebContainer.set_security(security)
security.login_as_guest()
ticket_key = security.get_ticket_key()
web = WebContainer.get_web()
web.set_cookie("login_ticket", ticket_key)
access_manager = security.get_access_manager()
xml = Xml()
xml.read_string('''
<rules>
<rule column="login" value="{$LOGIN}" search_type="sthpw/login" access="deny" op="!=" group="search_filter"/>
</rules>
''')
access_manager.add_xml_rules(xml)
finally:
Site.pop_site(pop_security=False)
示例2: _get_display
# 需要导入模块: from web_container import WebContainer [as 别名]
# 或者: from web_container.WebContainer import set_security [as 别名]
def _get_display(my):
WebContainer.set_security(FakeSecurity())
page = my.get_page_widget()
# create some singletons and store in container
cmd_delegator = WebContainer.get_cmd_delegator()
# add the event container
event_container = WebContainer.get_event_container()
from pyasm.widget import TopWdg, BottomWdg
top = TopWdg()
bottom = BottomWdg()
page = my.get_page_widget()
web = WebContainer.get_web()
from widget import Widget
widget = Widget()
widget.add(top)
widget.add(page)
# widget.add( my.get_form_wdg() )
widget.add(bottom)
# widget.add(warning_report)
widget.add(cmd_delegator)
# create a web app and run it through the pipeline
from web_app import WebApp
web_app = WebApp()
return web_app.get_display(widget)
示例3: handle_security
# 需要导入模块: from web_container import WebContainer [as 别名]
# 或者: from web_container.WebContainer import set_security [as 别名]
def handle_security(my, security):
# set the seucrity object
WebContainer.set_security(security)
# see if there is an override
web = WebContainer.get_web()
ticket_key = web.get_form_value("login_ticket")
# attempt to login in with a ticket
if not ticket_key:
ticket_key = web.get_cookie("login_ticket")
# We can define another place to look at ticket values and use
# that. ie: Drupal session key
session_key = Config.get_value("security", "session_key")
login = web.get_form_value("login")
password = web.get_form_value("password")
if session_key:
ticket_key = web.get_cookie(session_key)
if ticket_key:
security.login_with_session(ticket_key, add_access_rules=False)
elif login and password:
if login == "guest":
pass
else:
from pyasm.widget import WebLoginCmd
login_cmd = WebLoginCmd()
login_cmd.execute()
ticket_key = security.get_ticket_key()
# clear the password
web.set_form_value('password','')
elif ticket_key:
security.login_with_ticket(ticket_key, add_access_rules=False)
if not security.is_logged_in():
reset_password = web.get_form_value("reset_password") == 'true'
if reset_password:
from tactic.ui.widget import ResetPasswordCmd
reset_cmd = ResetPasswordCmd(reset=True)
try:
reset_cmd.execute()
except TacticException, e:
print "Reset failed. %s" %e.__str__()
else:
from pyasm.widget import WebLoginCmd
login_cmd = WebLoginCmd()
login_cmd.execute()
ticket_key = security.get_ticket_key()
示例4: handle_guest_security
# 需要导入模块: from web_container import WebContainer [as 别名]
# 或者: from web_container.WebContainer import set_security [as 别名]
def handle_guest_security(my, security):
WebContainer.set_security(security)
security.login_as_guest()
ticket_key = security.get_ticket_key()
web = WebContainer.get_web()
web.set_cookie("login_ticket", ticket_key)
access_manager = security.get_access_manager()
xml = Xml()
xml.read_string('''
<rules>
<rule column="login" value="{$LOGIN}" search_type="sthpw/login" access="deny" op="!=" group="search_filter"/>
</rules>
''')
access_manager.add_xml_rules(xml)
示例5: handle_security
# 需要导入模块: from web_container import WebContainer [as 别名]
# 或者: from web_container.WebContainer import set_security [as 别名]
def handle_security(my, security, allow_guest=False):
# set the seucrity object
WebContainer.set_security(security)
# see if there is an override
web = WebContainer.get_web()
ticket_key = web.get_form_value("login_ticket")
# attempt to login in with a ticket
if not ticket_key:
ticket_key = web.get_cookie("login_ticket")
# We can define another place to look at ticket values and use
# that. ie: Drupal session key
session_key = Config.get_value("security", "session_key")
login = web.get_form_value("login")
password = web.get_form_value("password")
site_obj = Site.get()
path_info = site_obj.get_request_path_info()
if path_info:
site = path_info['site']
if site == "default":
site = web.get_form_value("site")
if not site:
site = "default"
else:
site = web.get_form_value("site")
if session_key:
ticket_key = web.get_cookie(session_key)
if ticket_key:
security.login_with_session(ticket_key, add_access_rules=False)
elif login and password:
# get the site for this user
login_site = site_obj.get_by_login(login)
if login_site:
site = login_site
if site:
site_obj.set_site(site)
if login == "guest":
pass
else:
from web_login_cmd import WebLoginCmd
login_cmd = WebLoginCmd()
login_cmd.execute()
ticket_key = security.get_ticket_key()
elif ticket_key:
if site:
site_obj.set_site(site)
login = security.login_with_ticket(ticket_key, add_access_rules=False, allow_guest=allow_guest)
if not security.is_logged_in():
reset_password = web.get_form_value("reset_password") == 'true'
if reset_password:
from tactic.ui.widget import ResetPasswordCmd
reset_cmd = ResetPasswordCmd(reset=True)
try:
reset_cmd.execute()
except TacticException, e:
print "Reset failed. %s" %e.__str__()
else:
from web_login_cmd import WebLoginCmd
login_cmd = WebLoginCmd()
login_cmd.execute()
ticket_key = security.get_ticket_key()
示例6: handle_security
# 需要导入模块: from web_container import WebContainer [as 别名]
# 或者: from web_container.WebContainer import set_security [as 别名]
def handle_security(self, security, allow_guest=False):
# set the seucrity object
WebContainer.set_security(security)
# see if there is an override
web = WebContainer.get_web()
is_from_login = web.get_form_value("is_from_login")
ticket_key = web.get_form_value("login_ticket")
# attempt to login in with a ticket
if not ticket_key and is_from_login !='yes':
ticket_key = web.get_cookie("login_ticket")
# We can define another place to look at ticket values and use
# that. ie: Drupal session key
session_key = Config.get_value("security", "session_key")
login = web.get_form_value("login")
password = web.get_form_value("password")
site_obj = Site.get()
path_info = site_obj.get_request_path_info()
if path_info:
site = path_info['site']
if site == "default":
site = web.get_form_value("site")
if not site:
site = "default"
else:
site = web.get_form_value("site")
if session_key:
ticket_key = web.get_cookie(session_key)
if ticket_key:
security.login_with_session(ticket_key, add_access_rules=False)
elif login and password:
# get the site for this user
login_site = site_obj.get_by_login(login)
if login_site:
site = login_site
if site:
site_obj.set_site(site)
if login == "guest":
pass
else:
login_cmd = WebLoginCmd()
login_cmd.execute()
ticket_key = security.get_ticket_key()
if not ticket_key:
if site:
site_obj.pop_site()
return security
elif ticket_key:
if site:
site_obj.set_site(site)
login = security.login_with_ticket(ticket_key, add_access_rules=False, allow_guest=allow_guest)
# In the midst of logging out, login is None
if not login:
if site:
site_obj.pop_site()
return security
if not security.is_logged_in():
reset_password = web.get_form_value("reset_password") == 'true'
if reset_password:
from tactic.ui.widget import ResetPasswordCmd
reset_cmd = ResetPasswordCmd(reset=True)
try:
reset_cmd.execute()
except TacticException as e:
print("Reset failed. %s" %e.__str__())
# let empty username or password thru to get feedback from WebLoginCmd
else:
login_cmd = WebLoginCmd()
login_cmd.execute()
ticket_key = security.get_ticket_key()
# clear the password
web.set_form_value('password','')
if session_key:
web.set_cookie("login_ticket", ticket_key)
elif ticket_key:
#.........这里部分代码省略.........
示例7: execute
# 需要导入模块: from web_container import WebContainer [as 别名]
# 或者: from web_container.WebContainer import set_security [as 别名]
def execute(self):
self.buffer = cStringIO.StringIO()
error = None
try:
try:
# clear the main container for this thread
Container.create()
# clear the buffer
WebContainer.clear_buffer()
# initialize the web environment object and register it
adapter = self.get_adapter()
WebContainer.set_web(adapter)
# get the display
self._get_display()
except SetupException as e:
'''Display setup exception in the interface'''
print("Setup exception: ", e.__str__())
DbContainer.rollback_all()
ExceptionLog.log(e)
self.writeln("<h3>Tactic Setup Error</h3>" )
self.writeln("<pre>" )
self.writeln(e.__str__() )
self.writeln("</pre>" )
error = "405: TACTIC Setup Error"
except DatabaseException as e:
from tactic.ui.startup import DbConfigPanelWdg
config_wdg = DbConfigPanelWdg()
self.writeln("<pre>")
self.writeln(config_wdg.get_buffer_display())
self.writeln("</pre>")
error = "405: TACTIC Database Error"
except Exception as e:
stack_trace = ExceptionLog.get_stack_trace(e)
#print(stack_trace)
self.writeln("<pre>")
self.writeln(stack_trace)
self.writeln("</pre>")
error = "405 %s" % str(e)
# it is possible that the security object was not set
security = Environment.get_security()
if not security:
security = Security()
WebContainer.set_security(security)
log = None
# ensure that database connections are rolled back
try:
DbContainer.rollback_all()
except Exception as e2:
print("Error: Could not rollback: ", e2.__str__())
self.writeln("Error: Could not rollback: '%s'" % e2.__str__() )
stack_trace = ExceptionLog.get_stack_trace(e2)
print(stack_trace)
self.writeln("<pre>")
self.writeln(stack_trace)
self.writeln("</pre>")
raise e
#return
try:
# WARNING: if this call causes an exception, the error
# will be obscure
log = ExceptionLog.log(e)
except Exception as e2:
print("Error: Could not log exception: ", e2.__str__())
self.writeln("Error '%s': Could not log exception" % e2.__str__() )
stack_trace = ExceptionLog.get_stack_trace(e2)
print(stack_trace)
self.writeln("<pre>")
self.writeln(stack_trace)
self.writeln("</pre>")
return
self.writeln("<pre>")
self.writeln("An Error has occurred. Please see your Tactic Administrator<br/>")
self.writeln( "Error Message: %s" % log.get_value("message") )
self.writeln("Error Id: %s" % log.get_id() )
#self.writeln( log.get_value("stack_trace") )
self.writeln("</pre>")
finally:
# ensure that database connections are always closed
DbContainer.close_all()
# clear the container
Container.delete()
WebContainer.get_buffer().write( self.buffer.getvalue() )
#.........这里部分代码省略.........