使用TRoleAuth类对DataSnap服务端的接口授权

使用Troleauth类,一种类似注视的代码进行授权,也是最简单和方便的方式,实现如下:

unit ServerMethodsUnit1;

interface

uses System.SysUtils, System.Classes, System.Json,
    Datasnap.DSServer, Datasnap.DSAuth, DataSnap.DSProviderDataModuleAdapter;

type
  TServerMethods1 = class(TDSServerModule)
  private
    { Private declarations }
  public
    { Public declarations }
    [TRoleAuth(‘AdminGroup‘,‘GuestGroup‘)]
    function EchoString(Value: string): string;

    [TRoleAuth(‘GuestGroup‘,‘AdminGroup‘)]
    function ReverseString(Value: string): string;
  end;

implementation

{$R *.dfm}

uses System.StrUtils;

function TServerMethods1.EchoString(Value: string): string;
begin
  Result := Value;
end;

function TServerMethods1.ReverseString(Value: string): string;
begin
  Result := System.StrUtils.ReverseString(Value);
end;

end.

编译环境:Delphi XE7

加入DataSnap高级交流群439992010,即可下载本DEMO

时间: 2024-12-28 16:04:25

使用TRoleAuth类对DataSnap服务端的接口授权的相关文章

设置TDSAuthenticationManager属性对DataSnap服务端的接口授权

先实现TDSAuthenticationManager的OnUserAuthticate事件对客户端认证: procedure TServerContainer1.DSAuthenticationManager1UserAuthenticate( Sender: TObject; const Protocol, Context, User, Password: string; var valid: Boolean; UserRoles: TStrings); begin { TODO : Val

DataSnap服务端的接口认证

在服务端只要实现DSAuthenticationManager1组件的OnuserAuthenticate事件,我们就可以完成客户端接入接口的认证,他的事件如下: procedure TServerContainer1.DSAuthenticationManager1UserAuthenticate( Sender: TObject; const Protocol, Context, User, Password: string; var valid: Boolean; UserRoles: T

Datasnap 服务端 (Server)Session 管理

Datasnap 服务端 (Server)Session  管理:  http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Server_Side_Session_Management 获取当前线程的会话(Session)--Getting the Current Thread's Session From a server method, for example, you can obtain the current thread's sessio

python的flex服务端数据接口开发

python的flex服务端数据接口开发 python 如果给flex提供服务端,需要提供一个网关和一个可供客户端(flex)调用的类.这方面我更加推荐用twisted来写这个网关,因为twisted有很好的异步机制. 下面的我写的一个简单的验证用户的python服务端: ______________________________DBServer.py # Copyright (c) 2009-2010 The Newjh Project."""@author: Roy@s

服务端测试之接口测试用例设计

小伙伴们大家好,上一次和大家分享了<服务端测试之接口测试初探>,讲了一些接口测试的基本概念和理论知识.在上次的分享中,简单提到了接口测试用例设计包含的几个方面.本期我将在上次分享的基础上,和各位小伙伴一起具体看看这几个方面都是什么,在实际的项目中应该如何使用. 一.功能性用例设计 之前讲过,服务端的接口是和客户端的功能相对应的,对功能的验证,可以参照接口说明文档来进行.概括起来讲,就是我们需要验证接口说明文档中提到的各种情况,保证这些情况下接口的返回和最初设计的是一样的,这样我们就可以认为该接

datasnap服务端与客户端的对象传递

datasnap 2010 利用JSON序列化和反序列化任何类型的对象 分类:            midas2011-02-04 15:471100人阅读评论(1)收藏举报 json2010marshallingdelphiintegerstring 先简单介绍下什么叫marshalling? marshalling有点类似于序列化,它指的是一个转换的过程.将一个对象用一种适当的数据格式保存或转换.它一般用于不同两个程序间的通信和数据交换.与之对应的Unmarshalling故名思意也就是类

如何跟踪datasnap 服务端日志

1.在服务器端主窗体上显示服务器的执行情况,主窗体默认单元文件是Unit1.pas 2.一个TMEMO到窗体上, 3.在数据模块单元,ServerMethod1上放一个SQLMonitonr控件,ServerMethod1.pas的uses 里加上unit1,因为要访问MEMO. 日志可以输出到文本,也可以通过MEMO控件显示出来. 输出到文本: 设置SQLMonitonr控件FILENAME属性:c:\log.txt   4.输出到主窗体的MEMO 设置SQLMonitonr控件的OnLogT

服务端调用接口实例

前言: 在做小程序的开发时需要获取用户的openId用来做唯一标识,来获取对应用户的相关数据 官方的文档说明上有四个必须传的参数 其中appId和appSecret可在自己的微信公众号平台上获取,同时这些也是属于私密信息,应该妥善保管的,因为微信手机客户端是很容易反编译获取到这些信息的,所以在前端的ajax请求将这些参数传到后台是不可取的,最好的方式是将这两个参数在后台传入,然后发送请求至官方接口 1.模拟Http请求 package com.btw.util; import java.io.I

钉钉服务端api接口使用

原文链接:http://www.cnblogs.com/xiaosongJiang/p/9991573.html 第一步:注册钉钉企业账号 打开链接:https://oa.dingtalk.com/#/login,注册账号即可 第二步:创建应用 以创建e应用为例: 还需要授权一个开发人员,并获取CorpSecret,需要把corpId和CorpSecret作为参数请求api接口获取AccessToken,后面的所有接口都需要AccessToken 第三步:接入接口 一.获取token 1 con