求dreamweaver表单制作网页制作的软件和authwere课件制作的软件

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
多媒体教学软件制作中常用的工具及制作技巧
下载积分:280
内容提示:多媒体教学软件制作中常用的工具及制作技巧
文档格式:PDF|
浏览次数:9|
上传日期: 05:45:10|
文档星级:
该用户还上传了这些文档
多媒体教学软件制作中常用的工具及制作技巧
官方公共微信动态网页编程试题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
动态网页编程试题
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢网页制作_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩62页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢sharesdk 实现三方登陆、分享及关注的功能
(1)官方下载ShareSDK iOS 2.8.8,地址:/
(2)根据实际情况,引入相关的库,参考官方文档。
(3)在项目的AppDelegate中一般情况下有三个操作,第一是注册ShareSDK,第二是注册各个平台的账号,第三是关于微信等应用的回调处理。
view plain
%20//%20%20//AppDelegate.m%20%20//ShareSDKTest%20%20//%20%20//Createdbywangdaleion14-6-23.%20%20//Copyright(c)2014年王大雷.Allrightsreserved.%20%20//#import"AppDelegate.h"%20%20#import"RootViewController.h"%20%20#import%20%20#import"WeiboApi.h"%20%20#import%20%20#import%20%20#import"WXApi.h"%20%20#import%20%20#import@implementationAppDelegate%20%20@synthesize%20rootVC;-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{%20%20self.window=[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];%20%20if(self.rootVC==nil){%20%20self.rootVC=[[RootViewControlleralloc]initWithNibName:@"RootViewController"bundle:nil];%20%20}%20%20UINavigationController*rootNav=[[UINavigationControlleralloc]initWithRootViewController:self.rootVC];%20%20self.window.rootViewController=rootN%20%20self.window.backgroundColor=[UIColorwhiteColor];%20%20[self.windowmakeKeyAndVisible];[ShareSDKregisterApp:@"1a2e7ab5fb6c"];//添加新浪微博应用注册网址此处需要替换成自己应用的%20%20[ShareSDKconnectSinaWeiboWithAppKey:@""%20%20appSecret:@"1e8f76badf"%20%20redirectUri:@""];//添加腾讯微博应用注册网址http://dev.此处需要替换成自己应用的%20%20[ShareSDKconnectTencentWeiboWithAppKey:@""%20%20appSecret:@"ae36f4ee3946e1cbb98dff5c"%20%20redirectUri:@""%20%20wbApiCls:[WeiboApiclass]];//添加QQ空间应用注册网址/intro/login/此处需要替换成自己应用的%20%20[ShareSDKconnectQZoneWithAppKey:@""%20%20appSecret:@"aed9be27bae87cd"%20%20qqApiInterfaceCls:[QQApiInterfaceclass]%20%20tencentOAuthCls:[TencentOAuthclass]];//此参数为申请的微信此处需要替换成自己应用的%20%20[ShareSDKconnectWeChatWithAppId:@"wxf87885"wechatCls:[WXApiclass]];//添加QQ应用该参数填入申请的此处需要替换成自己应用的%20%20[ShareSDKconnectQQWithQZoneAppKey:@""%20%20qqApiInterfaceCls:[QQApiInterfaceclass]%20%20tencentOAuthCls:[TencentOAuthclass]];returnYES;%20%20}-(void)applicationWillResignActive:(UIApplication*)application{%20%20//Sentwhentheapplicationisabouttomovefromactivetoinactivestate.Thiscanoccurforcertaintypesoftemporaryinterruptions(suchasanincomingphonecallorSMSmessage)orwhentheuserquitstheapplicationanditbeginsthetransitiontothebackgroundstate.%20%20//Usethismethodtopauseongoingtasks,disabletimers,andthrottledownOpenGLESframerates.Gamesshouldusethismethodtopausethegame.%20%20}-(void)applicationDidEnterBackground:(UIApplication*)application{%20%20//Usethismethodtoreleasesharedresources,saveuserdata,invalidatetimers,andstoreenoughapplicationstateinformationtorestoreyourapplicationtoitscurrentstateincaseitisterminatedlater.%20%20//Ifyourapplicationsupportsbackgroundexecution,thismethodiscalledinsteadofapplicationWillTerminate:whentheuserquits.%20%20}-(void)applicationWillEnterForeground:(UIApplication*)application{%20%20//Calledaspartofthetransitionfromthebackgrouhereyoucanundomanyofthechangesmadeonenteringthebackground.%20%20}-(void)applicationDidBecomeActive:(UIApplication*)application{%20%20//Restartanytasksthatwerepaused(ornotyetstarted)whiletheapplicationwasinactive.Iftheapplicationwaspreviouslyinthebackground,optionallyrefreshtheuserinterface.%20%20}-(void)applicationWillTerminate:(UIApplication*)application{%20%20//Calledwhentheapplicationisabouttoterminate.Savedataifappropriate.SeealsoapplicationDidEnterBackground:.%20%20}#pragmamark-WX回调-(BOOL)application:(UIApplication*)applicationhandleOpenURL:(NSURL*)url{%20%20return[ShareSDKhandleOpenURL:urlwxDelegate:self];%20%20}-(BOOL)application:(UIApplication*)applicationopenURL:(NSURL*)urlsourceApplication:(NSString*)sourceApplicationannotation:(id)annotation{%20%20return[ShareSDKhandleOpenURL:urlsourceApplication:sourceApplicationannotation:annotationwxDelegate:self];%20%20}#pragmamark-WXApiDelegate/*!@brief收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果%20%20*%20%20*收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。%20%20*可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。%20%20*@paramreq具体请求内容,是自动释放的%20%20*/%20%20-(void)onReq:(BaseReq*)req{}/*!@brief发送一个sendReq后,收到微信的回应%20%20*%20%20*收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。%20%20*可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。%20%20*@paramresp具体的回应内容,是自动释放的%20%20*/%20%20-(void)onResp:(BaseResp*)resp{}%20%20%20%20@end%20%20%20%20(4)信息分享。%20%20%20%20%20[objc]%20%20view%20plain%20%20copy%20%20print%20%20?%20%20
%20-(IBAction)share:(id)sender{%20%20NSString*imagePath=[[NSBundlemainBundle]pathForResource:@"card"ofType:@"png"];%20%20//构造分享内容%20%20idpublishContent=[ShareSDKcontent:@"分享内容测试"%20%20defaultContent:@"默认分享内容测试,没内容时显示"%20%20image:[ShareSDKimageWithPath:imagePath]%20%20title:@"pmmq"%20%20url:@""%20%20description:@"这是一条测试信息"%20%20mediaType:SSPublishContentMediaTypeNews];%20%20[ShareSDKshowShareActionSheet:nil%20%20shareList:nil%20%20content:publishContent%20%20statusBarTips:YES%20%20authOptions:nil%20%20shareOptions:nil%20%20result:^(ShareTypetype,SSResponseStatestate,idstatusInfo,iderror,BOOLend){%20%20if(state==SSResponseStateSuccess)%20%20{%20%20NSLog(@"分享成功");%20%20}%20%20elseif(state==SSResponseStateFail)%20%20{%20%20NSLog(@"分享失败");%20%20}%20%20}];%20%20}%20%20(5)登录、登出、获取授权信息、关注制定微博%20%20%20%20%20%20%20[objc]%20%20view%20plain%20%20copy%20%20print%20%20?%20%20
%20//%20%20//LoginViewController.m%20%20//ShareSDKTest%20%20//%20%20//Createdbywangdaleion14-6-23.%20%20//Copyright(c)2014年王大雷.Allrightsreserved.%20%20//#import"LoginViewController.h"%20%20#import@interfaceLoginViewController()-(IBAction)loginWithSina:(id)-(IBAction)loginWithQQ:(id)-(IBAction)loginoutWithSina:(id)-(IBAction)loginoutWithQQ:(id)-(IBAction)guanzhuUs:(id)-(void)reloadStateWithType:(ShareType)@end@implementationLoginViewController-(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil{%20%20self=[superinitWithNibName:nibNameOrNilbundle:nibBundleOrNil];%20%20if(self){%20%20}%20%20%20%20}-(void)viewDidLoad{%20%20[superviewDidLoad];%20%20}-(void)didReceiveMemoryWarning{%20%20[superdidReceiveMemoryWarning];%20%20}-(IBAction)loginWithSina:(id)sender{%20%20[ShareSDKgetUserInfoWithType:ShareTypeSinaWeiboauthOptions:nilresult:^(BOOLresult,iduserInfo,iderror){%20%20NSLog(@"%d",result);%20%20if(result){%20%20//成功登录后,判断该用户的ID是否在自己的数据库中。%20%20//如果有直接登录,没有就将该用户的ID和相关资料在数据库中创建新用户。%20%20[selfreloadStateWithType:ShareTypeSinaWeibo];%20%20}%20%20}];%20%20}-(IBAction)loginWithQQ:(id)sender{%20%20[ShareSDKgetUserInfoWithType:ShareTypeQQSpaceauthOptions:nilresult:^(BOOLresult,iduserInfo,iderror){%20%20NSLog(@"%d",result);%20%20if(result){%20%20//成功登录后,判断该用户的ID是否在自己的数据库中。%20%20//如果有直接登录,没有就将该用户的ID和相关资料在数据库中创建新用户。%20%20[selfreloadStateWithType:ShareTypeQQSpace];%20%20}%20%20}];%20%20}-(IBAction)loginoutWithSina:(id)sender{%20%20[ShareSDKcancelAuthWithType:ShareTypeSinaWeibo];%20%20[selfreloadStateWithType:ShareTypeSinaWeibo];%20%20}-(IBAction)loginoutWithQQ:(id)sender{%20%20[ShareSDKcancelAuthWithType:ShareTypeQQSpace];%20%20[selfreloadStateWithType:ShareTypeQQSpace];%20%20}-(void)reloadStateWithType:(ShareType)type{%20%20//现实授权信息,包括授权ID、授权有效期等。%20%20//此处可以在用户进入应用的时候直接调用,如授权信息不为空且不过期可帮用户自动实现登录。%20%20idcredential=[ShareSDKgetCredentialWithType:type];%20%20UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:NSLocalizedString(@"TEXT_TIPS",@"提示")%20%20message:[NSStringstringWithFormat:%20%20@"uid=%@/ntoken=%@/nsecret=%@/nexpired=%@/nextInfo=%@",%20%20[credentialuid],%20%20[credentialtoken],%20%20[credentialsecret],%20%20[credentialexpired],%20%20[credentialextInfo]]%20%20delegate:nil%20%20cancelButtonTitle:NSLocalizedString(@"TEXT_KNOW",@"知道了")%20%20otherButtonTitles:nil];%20%20[alertViewshow];%20%20}//关注用户%20%20-(IBAction)guanzhuUs:(id)sender{%20%20[ShareSDKfollowUserWithType:ShareTypeSinaWeibo//平台类型%20%20field:@"ShareSDK"//关注用户的名称或ID%20%20fieldType:SSUserFieldTypeName//字段类型,用于指定第二个参数是名称还是ID%20%20authOptions:nil//授权选项%20%20viewDelegate:nil//授权视图委托%20%20result:^(SSResponseStatestate,iduserInfo,iderror){%20%20if(state==SSResponseStateSuccess){%20%20NSLog(@"关注成功");%20%20}elseif(state==SSResponseStateFail){%20%20NSLog(@"%@",[NSStringstringWithFormat:@"关注失败:%@",error.errorDescription]);%20%20}%20%20}];%20%20}@end%20%20(5)你可能会看到一些应用需要第三方登录的,一种是弹出webView加载的新浪微博或者qq的网页授权,还有一种是跳转到本地的已经安装的新浪微博应用或者qq应用进行授权。第二种授权方式较SSO授权,体验会比较好一些,因为不需要用户输入新浪微博或QQ的用户名与密码。%20%20%20%20第二种授权方式需要在plist中配置Scheme。SSO默认是打开的不需要配置。在AppDelegate中实现回调。%20%20
(6)测试DEMO截图:
DEMO下载地址:http://download.csdn.net/download/daleiwang/7734321
最新教程周点击榜
微信扫一扫Dreamweaver限制访问的BUG
Dreamweaver限制访问的BUG
  一、步骤叙述:
  1、数据库文件mysite.mdb,其中两个表:admininfo(表示管理员的记录表)和memberinfo(普通用户的记录表)
  2、普通用户登陆页 login.asp ,添加服务器行为时候,选择基于用户名和密码的访问。即表示产生了 Session("MM_Username") (其值即为当前正确登陆的用户名)。因为此时为选择访问级别,所以代表访问级别的 Session("MM_UserAuthorization") = ""
  3、普通用户登陆成功页 personal.asp,服务器行为“限制对页访问”同样设置为用户名和密码的访问。实质是判断Session,即可实现“限制对页的访问”。
  以上2→3均能正常,接着就开始出现问题了。
  4、管理员登陆页 adminlogin.asp ,添加服务器行为时候,选择基于用户名、密码和访问级别的访问(当然这要求admininfo表中必须具有表示访问级别的字段)。生成Session("MM_Username") (其值即为当前正确登陆的管理员名),同时生成表示访问级别的Session("MM_UserAuthorization") = CStr(MM_rsUser.FIElds.Item(MM_fldUserAuthorization)。Value)
  5、管理员登陆正确页 admin.asp,很显然,服务器行为“限制对页访问”必须选择“用户名、密码和访问权限的访问”,级别的定义值即是admininfo表中表示访问级别字段的值。同样也能实现“限制对页的访问”。
  二、BUG来了
  1、普通用户登陆。
  2、正确登陆。
  3、将URL地址直接切换为“admin.asp”的地址。
  4、完全可访问。
  注:在admin.asp提取Session("MM_UserAuthorization") 是为空值,而当从adminlogin.asp正确登陆到adming.asp提取Session("MM_UserAuthorization") 值为数据库表中相应字段的值
  得出结论:代表权限的访问级别没有起效。Session("MM_UserAuthorization") 针对同一站点同一数据库不同表时――形同虚设!
  三、原理分析
  在管理员登陆成功页中,有如下代码是用来进行“限制对页访问的”
  ' *** Restrict Access To Page: Grant or deny access to this page MM_authorizedUsers="administrator" MM_authFailedURL="adminlogin.asp" MM_grantAccess=false If Session("MM_Username") && "" Then If (false Or CStr(Session("MM_UserAuthorization"))="") Or _(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))&=1) Then MM_grantAccess = true End If
  If Session("MM_Username") && "" Then
  如果表示用户的Session不为空,即可MM_grantAccess = true,当然,其中还有嵌套IF.
  If (false Or CStr(Session("MM_UserAuthorization"))="") Or (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))&=1) Then
  因为MM_authorizedUsers="administrator",这里的"administrator"是级别的定义值,即是admininfo表中表示访问级别字段的值
  所以,其只能限制admininfo表其他的访问级别(非administrator)的管理员的访问,而对于普通会员而言,其Session("MM_UserAuthorization")值为空,同样可访问该权限页面。
  这就是BUG所在!
  四、目前解决方案
  1、要做基于用户名、密码和访问级别的访问,必须是同一数据库表中的。即将普通会员和管理员的信息都保存在同一表中,区分他们权限的方法即是添加一个代表权限的字段,使得他们具有不同的值。
  当然,这不是很完整的,很多情况需要将两个表分开,那么则可以用如下方法:
  2、当基于用户名、密码和访问级别的访问,在代码
  If Session
  ("MM_Username") && "" Then
  继续添加内容
  and Session("MM_UserAuthorization") && "" ,即最后为:
  If Session("MM_Username") && "" and Session
  ("MM_UserAuthorization") && "" Then
  注意:当基于用户名、密码和访问级别的访问时,才可以修改(因为有访问级别,就表示有Session("MM_UserAuthorization") );而只当基于用户名和的访问时,则不需要。
  五、最后的建议
  当然,这个建议最好给MM公司,即是:当基于用户名、密码和访问级别的访问时,代码判断行和当基于用户名和的访问时,要不一样,应该是:
  If Session("MM_Username") && "" and Session
  ("MM_UserAuthorization") && "" Then
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 dreamweaver表单制作 的文章

 

随机推荐